我的代码如下:
unsigned int* Adc = 0x2000;
据我了解,ADC的地址为0x2000,对吗?
如果我想为Adc赋值,我就这样写:
Adc = 88;
是否正确?
答案 0 :(得分:3)
据我了解,ADC的地址为0x2000,对吗?
几乎unsigned int* Adc = 0x2000;
使用该值初始化Adc
。如果0x2000不是分配该指针的有效值,则结果为未定义行为(UB),因此希望有一些与系统有关的信息表明这是unsigned
指针的有效地址
指针Adc
存在于内存中某个地址的某个位置。 Adc
的地址对您的目标影响不大。
为清楚起见,指针Adc
的值为0x2000,Adc
在内存中某个地址的某个位置。
是否正确?
不完全是。 Adc = 88;
为指针Adc
的原始指针0x2000
分配一个新的 value 。
要更改Adc
指向的内存,请取消引用:*Adc = 88;