我有一个问题,我今天开始学习指针并且出现了一些奇怪的东西:根据我的指南,通过在创建的指针中添加1,程序将进入内存中的下一个变量.可以看到打印点+ 1的地址,但是当我尝试打印*(点+ 1)的值时,它只打印d的地址?
int d = 5;
int e = 12;
int *point = &d;
printf("\n\n%u %i\n%u", point, *point, point + 1);
printf("\n%i", *(point + 1));
Run Code Online (Sandbox Code Playgroud)
为什么会这样?顺便说一句我正在使用代码块
int *point = &d;
Run Code Online (Sandbox Code Playgroud)
评估:
*(point + 1)
Run Code Online (Sandbox Code Playgroud)
在C中调用未定义的行为point + 1不是指向有效对象的指针.