1变量的内存地址Р如何读写内存中的数据?Р0x0037b000Р0Р0Р0Р0РContentsРContentsРContentsРContentsРContentsРContentsРContentsР某存储区域Р0x0037b001Р0x0037b002Р0x0037b003Р只要指明要访问的变量的内存单元地址?就可以立即访问到变量所在的存储单元Р&aРscanf("%d", &a);Рint a=0;РaР9.1变量的内存地址Р【例9.1】使用取地址运算符&取出变量的地址,然后将其显示在屏幕上。Р表示输出变量a的地址值?Р9.1变量的内存地址Р如何读写内存中的数据?Р0x0037b000Р0Р0Р0Р0РContentsРContentsРContentsРContentsРContentsРContentsРContentsР某存储区域Р0x0037b001Р0x0037b002Р0x0037b003Р直接寻址:按变量地址存取变量值Р&aРscanf("%d", &a);РaРint a=0;Р9.1变量的内存地址Р如何读写内存中的数据?Р0x0037b000Р0Р0Р0Р0РContentsРContentsРContentsРContentsРContentsРContentsР0x0037b000Р某存储区域Р0x0037b001Р0x0037b002Р0x0037b003Р间接寻址:通过存放变量地址的变量去访问变量Р&aРaРint a=0;Рint i;?scanf("%d", i); ?/* 这样会如何?*/Рchar c;?scanf("%d", &c); ?/* 这样呢?*/Рi的值被当作地址。如i==100,则输入的整数就会从地址100开始写入内存Р输入以int的二进制形式写到c所在的内存空间。?c所占内存不足以放下一个int,其后的空间也被覆盖