首先 何为 变量 。
变量就是 一个内存单元。 值得是 存储 空间 注意是空间
Int A
A实际上对应的是 计算内存中一个 16 位的单元
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
实际上 A 就是 这个16bit 的整体 。
他可能没有被初始化
他也可能已经初始化
现在 回到 程序 中
(IfxPort_Pin*)&(IfxPort_P32_4),
IfxPort_P32_4 是 已经初始化的变量 如下图
实际上 MODULE_P32 是一个已经被初始化的内存单元
如下图:
下图 分为两个步骤
步骤1
把常数转换为指向 Ifx_P 数据类型 的 常量
然后 在 * 操作 就变成了地址是 0XF003C300 的存储空间。
对存储空间 可以进行 取地址的操作
即& MODULE_P33
(IfxPort_Pin*)&(IfxPort_P32_4),
实际上就是 取存储空间的首地址 。 然后将他从常量 变为 指向存储空间的常量。
即从常量 变为 指针常量。
指针常量 当然可以 用来赋值
原文:https://www.cnblogs.com/bailongwei654321/p/14551695.html