c语言中的箭头运算符和点运算符有啥区别

2025-02-25 20:19:53
推荐回答(5个)
回答1:

箭头是指针访问成员变量的 点运算符是用于结构体变量访问结构体成员变量的
也就是说:如果定义的结构变量是指针 那么要访问它的成员变量用箭头
如果定义的是结构体变量的话就是用点

回答2:

  C语言有一种数据类型叫结构体,其定义格式为:

  struct 结构体名 {
    结构体成员变量定义;
  };
  如:
  struct student {
  char name[20];
  int age ;
  double score ;
  };

  用结构体定义的变量叫结构体变量,如:

      struct student stu; //定义一个结构体变量stu

  这种变量在引用结构体成员时,使用点(.)来操作,如:

  strcpy( stu.name, "zhangsan" );
  stu.age=20;
  stu.score=100;

  结构体类型也可以定义指针变量,如:

      struct student *pstu; //定义一个结构体指针变量pstu

      pstu=&stu ; //pstu指针指向stu结构体变量

  结构体指针变量在引用成员变量时,使用箭头(->)来操作,如:

  strcpy( pstu->name, "zhangsan" );
  pstu->age=20;
  pstu->score=100;

  以上这两种符号的使用是C语言的规定!

回答3:

简单点说,要访问结构体成员,如果是结构体指针,则用箭头运算符访问,如果是结构体变量,则用点运算符

回答4:

箭头作用于结构指针,点作用于结构本身

回答5:

比如一个结构体
struct Node
{
int x;
int *y;

};
在main函数中

int main

{
Node node1;
node1.x = 5;

node->y = 5; // 用箭头访问指针变量

return 0;

}