给指针赋值

时间:2018-09-04 03:03:59

标签: c

我的代码如下:

unsigned int* Adc = 0x2000;

据我了解,ADC的地址为0x2000,对吗?
如果我想为Adc赋值,我就这样写:

Adc = 88;

是否正确?

1 个答案:

答案 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;