c语言 含指针的宏定义
发布网友
发布时间:2022-08-17 20:57
我来回答
共3个回答
热心网友
时间:2023-11-05 04:26
指针就是地址。
你说的是指针变量。
整形变量,浮点变量,字符变量,指针变量。通过起名的规律就知道指针变量是储存地址的。
指针变量和其他变量的用法一样,作用域一样。在一个子涵数中定义指针变量,是局部变量,其他函数是不能用的。
不要把指针变量想的太复杂,地址(指针)也是数据,和其他字符数据,整形数据一样,没什么差异。
当然,全局变量的指针变量当然可以多函数使用。
指针的定义:地址。
指针变量的定义:存储指针的变量。
热心网友
时间:2023-11-05 04:27
*(TX_BUF_ADDRESS)并不是宏的指针,宏在编译前自动展开替换原代码
这里的宏展开后为:
*((uint8*)((uint8*)0xF400
+
200))
=
*(0xf4c8),也就是取0xf4c8这个
内存地址
的值
热心网友
时间:2023-11-05 04:27
这个并不是含指针的宏,在编译的时候TX_BUF_ADDRESS
会全部换成(uint8*)(RAM_PROC_ADDRESS+RAM_PROC_LEN)那么*(TX_BUF_ADDRESS)表示的是
*
(uint8*)(RAM_PROC_ADDRESS+RAM_PROC_LEN)