i新尝试在c中学习指针。所以我使用(null指针)int *pnumber = NULL;
,但我不明白为什么我会在输出中获得17824320。请您解释吗?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
int main() {
int number = 0;
int *pnumber = NULL;
number = 10;
pnumber = &number;
printf("%d n", number);
printf("%d n", pnumber);
return 0;
}
,输出为
10
17824320(我认为内存地址)
pnumber = &number; ... printf("%d n", pnumber);
来自int *pnumber = NULL;
的初始null值由pnumber = &number;
修改,因此您写入 pnumber 的值是 number
如果您执行printf("%d n", *pnumber);
,则写10