- 对于结构体变量,其成员变量访问方式为:
// 定义一个test类型的结构体数据类型
typedef struct test
{
int x;
int y;
}test;
// 赋值
// 方式1:定义一个test类型变量var,并且按顺序给成员变量x和y赋值
test var = {1, 0};
// 方式2:
// test var;
// var.x = 1;
// var.y = 0;
// 读取
printf("%d %d\n", var.x, var.y);
- 对于结构体指针变量,其成员变量访问方式为:
// 定义一个test1类型的结构体数据类型
typedef struct test1
{
int i;
int j;
}test1;
// 定义一个test1类型的结构体变量
test1 var1;
// 定义一个test1类型的结构体指针变量pvar
// 表示pvar指向一个test1类型的结构体变量
test1 *pvar1 = &var1;
// 赋值
// 方式1:定义一个test类型变量var,并且按顺序给成员变量x和y赋值
pvar1 -> i = 0;
pvar1 -> j = 1;
// 读取
printf("%d %d\n", pvar1 -> i, pvar1 -> j);
// 读取,因为.的优先级比*高,所以需要括号
printf("%d %d\n", (*pvar1).i, (*pvar1).j);
参考: