使用指针增加变量

使用指针增加变量,第1张

概述我对处理指针很新,而且我的C知识相当小.我想了解指针.我编写了以下代码来打印变量列表(a到f),如下所示: 012345 我编写了以下代码来执行此 *** 作: #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; 我对处理指针很新,而且我的C知识相当小.我想了解指针.我编写了以下代码来打印变量列表(a到f),如下所示:

012345

我编写了以下代码来执行此 *** 作:

#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;}

这个想法是它通过变量和增量逐个增加数量(i).我假设你在同时初始化变量时,它们会在内存中彼此相邻.但是,我得到以下输出:

0123-1218283607

如果我将for循环更改为仅从0到3(i <4),它工作正常,打印机0 1 2和3.但是当我希望打印变量f时,它似乎没有设置它. 正如我所说,我对指针很新,所以我可能忽略了一些愚蠢的东西,但我一直在仔细研究我的代码,试图解决它. 提前致谢.

解决方法 无法保证a,e和f在内存中相邻.如果您需要这种保证,则需要使用数组.

#include <stdio.h>int main() {    int a[6];    int *p;    int i;    a[0] = a[1] = a[2] = a[3] = a[4] = a[5] = 0;    p = &a[0];    for (i = 0; i < 6; i++){        *p += i;        p++;    }    for(i = 0; i < 6; i++) {        printf("%d\n",a[i]);    }    return 0;}

这里int [6]声明一个名为a的数组,它可以容纳六个整数.这六个整数可以通过[0],[1],[2],[3],[4]和[5]得到.保证a [0],a [1],a [2],a [3],a [4]和[5]在内存中连续排列.这样就行了

p = &a[0];

将p设置为第一个元素的地址.此指针的每个增量都会向前移动数组中的一个位置.

第二个for循环显示第一个for循环在{0,1,2,3,4,5}中正确地为i设置了[i]到i.如果你运行这个程序,你会看到

0123 45

在控制台上.

总结

以上是内存溢出为你收集整理的使用指针增加变量全部内容,希望文章能够帮你解决使用指针增加变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存