小编mjp*_*mjp的帖子

使用指针增加变量

我对处理指针很新,而且我的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时,它似乎没有设置它.

正如我所说,我对指针很新,所以我可能忽略了一些愚蠢的东西,但我一直在仔细研究我的代码,试图解决它.

提前致谢.

c pointers

3
推荐指数
1
解决办法
635
查看次数

标签 统计

c ×1

pointers ×1