结构体可以取地址,那么结构体内部的变量可以取地址吗?
我认为是可以的。
代码如下
#include<stdio.h>
typedef unsigned char uint8_t;
typedef struct { //结构体类型定义
uint8_t para1;
uint8_t para2;
} dual;
void func(uint8_t *para) { //带有指针参数的函数
*para = 3; //通过地址改变数据的值
printf("%d \r\n", *para); //打印新数据
}
int main()
{
dual st_dual = {2,1}; //定义一个结构体
printf("%d \r\n", st_dual.para2); //打印原始数据
func(&st_dual.para2); //将结构体成员的指针放入函数func
return 0;
}
运行结果如下