为什么这样定义时可以用 L.data[1];
为什么换一种存储方式定义就要使用L->data
为什么这样定义时可以用 L.data[1];
为什么换一种存储方式定义就要使用L->data
我是这么理解的:
如果用typdef 定义结构,结构变量访问结构里的成员用点号. ;
如果是定义一个结构指针(带星号),就用->这种访问方式。
下面是一个简单的例子:
#include <stdio.h>
typedef struct message {
char name[25];
int age;
}message ,*pmessage;
int main(){
message a = {"张三",25};
pmessage pa = &a;
printf("结构变量访问结构成员:%s %d\n",a.name,a.age);
printf("结构指针访问结构成员:%s %d\n",pa->name,pa->age);
return 0;
}