我正在看别人的代码,看到的东西我只被告知是一个指针。问题是语法不是指针语法。这是以下代码:
switch(control)
{
case 'w':
case 'a':
case 's':
case 'd':
execute->backup_grid();// this is the part I was talking about.
execute->fill_space();
execute->update_grid();
execute->fill_space();
execute->find_greatest_tile();
execute->display_grid();
if(execute->full()&&apocalypse)
{
response=-1;
break;
}
else if(execute->block_moves())
{
execute->spawn();
break;
}
else
{
response=0;
break;
}
答案 0 :(得分:0)
这是一种指针语法。在普通的C中,如果你有一个指向结构的指针,你可以使用“箭头”运算符访问成员的值,如下所示:
struct foo {
int num ;
};
struct foo var ;
struct foo *ptr ;
var.num = 0;
ptr = &var;
printf("%d ", ptr->num); // 0
printf("%d ", (*ptr).num); //0
本质上
ptr->num
是
的缩短方式 (*ptr)->num
在您的代码中,您使用指向某个对象的指针调用方法。