c语言中 结构体里 ->和.的用法及区别
时间: 2023-11-27 16:54:22 浏览: 192
浅谈C语言共用体和与结构体的区别
在C语言中,结构体是一种自定义的数据类型,可以将不同类型的变量组合成一个整体。结构体中的成员可以使用“.”和“->”来访问。
1. 使用“.”来访问结构体成员
使用“.”操作符可以直接访问结构体中的成员,例如:
```c
struct student {
char name[20];
int age;
};
struct student s;
s.age = 20;
strcpy(s.name, "Tom");
```
2. 使用“->”来访问结构体指针成员
而对于结构体指针,我们需要使用“->”操作符来访问结构体的成员,例如:
```c
struct student {
char name[20];
int age;
};
struct student *p;
p = (struct student *)malloc(sizeof(struct student));
p->age = 20;
strcpy(p->name, "Tom");
```
在这个例子中,我们使用了“->”操作符来访问结构体指针p所指向的结构体中的成员。
区别:
使用“.”操作符可以直接访问结构体中的成员,而“->”操作符则是用来访问结构体指针中的成员。因此,如果你要访问的是一个结构体变量中的成员,就应该使用“.”操作符;而如果你要访问的是一个结构体指针中的成员,就应该使用“->”操作符。
阅读全文