我对处理指针很新,而且我的C知识相当小.我想了解指针.我编写了以下代码来打印变量列表(a到f),如下所示:
0
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
我编写了以下代码来执行此操作:
#include <stdio.h>
int main(){
int a,b,c,d,e,f;
int *p;
int i;
a = b = c = d = f = 0;
p = &a;
for (i = 0; i < 5; i++){
*p += i;
printf("%d\n", *p);
p++;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这个想法是通过变量和增量逐个增加数量(i).我假设你在同时初始化变量时,它们会在内存中彼此相邻.但是,我得到以下输出:
0
1
2
3
-1218283607
Run Code Online (Sandbox Code Playgroud)
如果我将for循环更改为仅从0到3(i <4),它可以正常工作,打印机0 1 2和3.但是当我希望打印变量f时,它似乎没有设置它.
正如我所说,我对指针很新,所以我可能忽略了一些愚蠢的东西,但我一直在仔细研究我的代码,试图解决它.
提前致谢.