C语言_指针和数组的几种访问形式

敲几行代码来看看几种访问的形式~

复制代码
#include <stdio.h>;
int
main() { int arr[5] = {0, 1, 2, 3, 4, 5}; //初始化5个元素的一维数组 int *p = arr; //定义一个指向数组arr的指针 ,数组类型不需要引用地址符& printf("arr[2]:%d\n", arr[2]); //①:通过下标直接访问 [通过数组名的指针形式访问 ] printf("arr[2]:%d\n", *(p+2)); //②:p本身代表一个地址(首地址),p地址本身是第0个,+ 2是第三个地址,然后用*号括起来,取值 printf("arr[2]:%d\n", *(arr+2)); //③:因为是数组类型,本身arr是一个首地址,p和arr都是首地址,直接地址+2,然后取值 printf("arr[2]:%d\n", p[2]); //④:既然p是首地址,那么也可以当做数组,直接下标访问。[通过指针变量名的数组下标形式访问] //---------分割线 printf("%d\n",*p); //输出为0,数组的首元素。 printf("%d\n",*arr); //输出为0,数组的首元素。 printf("%d\n",p); //输出为地址,数组的地址。 printf("%d\n",arr); //输出为地址,数组的地址。 return 0; }
复制代码

编译运行结果截图如下:

 

posted @   温柔的风  阅读(1759)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示