系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。
喜欢的同学记得点赞、转发、收藏哦~
后续C语言经典100例将会以pdf和代码的形式发放到公众号
欢迎关注:计算广告生态即时查收
1 题目
目标:熟悉指针和数组的底层逻辑功能:使用指针输出数组元素
描述:通过指针将数组中你那个各个元素值进行打印输出
2 要点
a. 指向数组的指针实现输出数组元素,定义一个指向数组的指针用来灵活操作数组
int a[10];int *p;// 指针 p 指向数组的方法,下面两种都是可以的.// a 本身就是数组的其实地址,&a[0] 也是数组的起始地址p = a;p = &a[0];
b. 指针既是指向变量地址的又是决定指向变量地址的位数的。例如
int p = &a[0];
既是指向数组a的首地址 又是说明了每次指向都int类型的数据,即 4 个字节。
所以,在指定 p 的基类型后,通过指针指向数组,每次 p++ 都是会跳动4个字节,到达下一个位置a[1]。
即:*(p+1) 即取得 a[1] 的数据
3 代码
#include <stdio.h> #define N 10 /**目标:熟悉指针和数组的底层逻辑功能:使用指针输出数组元素描述:通过指针将数组中你那个各个元素值进行打印输出**/int main(int argc, char const *argv[]) {int a[N]; int *p;printf("请输入 10 个数字: n");for (int i = 0; i < N; ++i) {scanf("%d", &a[i]);}printf("n");for (p = a; p < a+10; ++p) {// 指针指向进行数组内容打印printf("数组中的内容:n%dn", *p);}return 0;}
示例结果:
$ gcc ex013.c -o demo$ ./demo请输入 10 个数字:12345678910数组中的内容:12345678910
--END--
喜欢本文的同学记得点赞、转发、收藏~
更多内容,欢迎大家关注我们的公众号:计算广告生态
后续C语言经典100例将会以pdf和代码的形式发放到公众号
同时也带来更多系列文章以及干货!