#include <stdio.h>
struct Point {
int x;
int y;
};
int main() {
// 普通指针和 * 的使用
int a = 10;
int *p = &a;
printf("a = %d\n", *p); // 输出: a = 10
// 结构体指针和 -> 的使用
struct Point point1 = {3, 4};
struct Point *ptr = &point1;
printf("x = %d, y = %d\n", ptr->x, ptr->y); // 输出: x = 3, y = 4
// 等价形式
printf("x = %d, y = %d\n", (*ptr).x, (*ptr).y); // 输出: x = 3, y = 4
return 0;
}
* 用于指针的声明和取值操作。
-> 用于通过指针访问结构体或联合体的成员。
-> 是 (*p).成员名 的简写形式,代码更简洁。 |