当前位置:网站首页>结构体变量的首地址获取注意事项
结构体变量的首地址获取注意事项
2022-08-09 11:16:00 【量子力学和生命科学】
1.结构体变量的地址就是结构体的首地址
2.结构体第一个成员的地址就是结构体的首地址
要获取结构体变量的首地址,就是要获取结构体变量第一个元素的地址。
例如:
typedef struct {
uint16 Kp;
uint16 Ki;
uint16 Kd;
} spidPID; //定义一个结构体类型
spidPID VarPID={1,2,3}; //定义该类型的变量,并初始化
Uint16 Numm2=0,Numm3=0; //定义两个全局变量
Uint16 Fun(uint32 *p) //定义一个函数,用于说明结构体成员引用问题
{
return *p;
}
第一种引用方式,如下,被证明是错的,但是编译并不报警
void main(void)
{
//Numm2 = Fun( (uint32*)(&VarPID.Kp));
Numm3 = Fun( (uint32*)(&VarPID));
}
运行结果如下图,可见并没有取出第一个元素的值

第二种引用方式,如下,被证明是对的
void main(void)
{
Numm2 = Fun( (uint32*)(&VarPID.Kp));
//Numm3 = Fun( (uint32*)(&VarPID));
}
运行结果如下:

获得了第一个元素的值
边栏推荐
猜你喜欢

电磁场与电磁波-场论基础

Chinese valentine's day?Programmers don't exist

This application has no explicit mapping for /error, so you are seeing this as a fallback

抗积分饱和 PID代码实现,matlab仿真实现

Visual Studio 2017 ASP.NET Framework MVC 项目 MySQL 配置连接
![[现代控制理论]6_稳定性_李雅普诺夫_Lyapunov](/img/94/e9c214f5a89e01c3f33414419767b6.png)
[现代控制理论]6_稳定性_李雅普诺夫_Lyapunov

MDK添加注释模板

剖析STM32F103时钟系统

【Data augmentation in NLP】——1

全网最简单解决OneNote中英字体不统一
随机推荐
剖析STM32F103时钟系统
Oracle数据库体系结构
People | How did I grow quickly from programmer to architect?
PTA 矩阵运算
es6递归函数
PTA 换硬币
UNIX Philosophy
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
数论知识点
电磁场与电磁波-场论基础
Qt 国际化翻译
Use gdb to debug multi-process programs, debug parent and child processes at the same time
es6对象迭代器iterator
PTA习题 三角形判断
Win10调整磁盘存储空间详解
PAT1002
Arduino学习总结 + 实习项目
redis内存的淘汰机制
log4net使用指南(winform版,sqlserver记录)
Visual Studio 2017 ASP.NET Framework MVC 项目 MySQL 配置连接