指针数组和数组指针

指针数组的本质是一个数组,数组里面的每一个元素存放着是指针。

char *p[3]={"hello","my","world"};

这里的栈区中存放着以3个指针,而hello  my world 存储在全局区,然后栈区的每个指针指向对应的字符串。

sizeof(p)=3*4=12


数组指针:

数组指针的本质就是一个指向数组地址的指针。所占内存空间大小为4

char(*p)[4] 

这里的p指向一个含有4个char类型的数组。

假设char a[4]={'a','b','c','d'};

数组的地址和数组中首元素的地址相同

a+1是在数组移动一个元素的长度,移动距离为1,而p+1是是移动一个数组的长度,移动距离为4。

关于二维数组和指针的关系:

二维数组的本质是一个二维指针,例如    char  a[2][3]  ,char **p=a;

*p(i)+j  是指向元素p[i][j]的地址,等同于a[i]+j

*(*p(i)+j)表示a[i][j]元素,等同于*p[i][j]

*p(i)是指向数组第i行的地址

*p是表示二维数组的地址

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,848评论 3 44
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,176评论 0 2
  • 第十章 指针 1. 地址指针的基本概念: 在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为...
    坚持到底v2阅读 4,755评论 2 3
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 11,554评论 1 42
  • 许多年前,我跟一个清华毕业的哥们去另一个朋友家玩。朋友家的小女孩在门口的水泥地上玩滑板。出于无聊和好奇心,...
    怀秋001阅读 4,771评论 0 3

友情链接更多精彩内容