我最近尝试用C语言学习指针。所以我使用(空指针)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;
}
结果是
十
17824320(我想是内存地址)
最佳答案
pnumber = &number;
...
printf("%d \n", pnumber);
来自
int *pnumber = NULL;
的初始空值由pnumber = &number;
修改,因此您将pnumber的值写为number的地址如果你写了10