- #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).成员名 的简写形式,代码更简洁。
|