1,使用指针方法实现(指针的指向不变)

代码段:
#include<stdio.h> void main() { int a[5] = { 5,6,7,8,9 }, sum = 0, i; int* p =
a;//让p指向a[0]元素 for (i = 0; i < 5; i++) sum+=p[i];//p[i]表示一维数组中第i个元素内容
printf("%d\n", sum); }
样例输出:

35

2, 使用指针方法实现(指针的指向不变)

代码段:
#include<stdio.h> void main() { int a[5] = { 5,6,7,8,9 }, sum = 0, i; int* p =
a; for (i = 0; i < 5; i++) sum +=
*(p+i);//*(p+i)表示一维数组中第i个元素内容,即p指针指向下i个元素,然后再与*结合,取p指针所指向的空间内容 printf("%d\n",
sum); }
样例输出:

35 

拓展:

p++ 或者 ++p  :让p指针指向下一个元素   

  *p++ 或者 *(p++)  :p先与++结合,即p指针先指向下一个元素,然后再与*结合,取p指针所指向的空间内容

  (*p)++  :先取p指针所指向的空间内容作为该表达式的值,然后使得p指针所指向的空间的内容自增1。

  ++(*p)  :先使得p指针所指向的空间的内容自增1,然后取p指针所指向的空间内容作为该表达式的值。

int a[10];

int *p;

p=a;   //让p指向a[0]元素

表示一维数组中第0个元素地址:  a、     p、      &a[0]

表示一维数组中地0个元素内容:  *a、   *p、       a[0]

结论:

表示一维数组中第i个元素地址:  a+i、   p+i、    &a[i]

表示一维数组中第i个元素内容:*(a+i)、*(p+i)、    a[i] 、p[i]

 

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信