不常见的语法? --- “ - >” 中

时间:2016-12-27 03:27:00

标签: syntax

我正在看别人的代码,看到的东西我只被告知是一个指针。问题是语法不是指针语法。这是以下代码:

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;
          }

1 个答案:

答案 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

在您的代码中,您使用指向某个对象的指针调用方法。