数组指针和指针数组

举报
无敌清风蓝 发表于 2023/08/30 11:37:19 2023/08/30
【摘要】 数组指针和指针数组

1.指向数组元素的指针

int a[2];

a[0] = 1; a[1] = 2;

int *p;

p = &a[0];//把a[0]元素的地址赋给指针变量p,即p指向数组第0号元素

因为数组名也就是数组首地址,所以

p = &a[0];和p = a;是一样的

定义指针变量时候也可以赋初值,这两行等价

int * p = &a[0];

int * p = a;

int a[2]
a[0] = 1; a[1] = 2;
int *p;
p = &a[0];
//引用一个数组元素,目前由于以下几种方法:
a[i],p[i],*[p+i],*(a+i)

2.指针数组和数组指针

int * p[10]这是指针数组,首先这是个数组,数组里有10个元素,每个元素都是一个指针,每个元素里面是这样的int*

数组指针int (*p)[10] ,表明的是这个是个指向数组的指针,那么该指针变量存储的地址必须是数组的首地址,p是一个指针,指向一个int[10]的数组,每个数组元素是一个int类型的变量

数组指针和指针数组的区别 - hongcha_717 - 博客园 (cnblogs.com)

3.指向指针的指针

char ** p 定义一个指向“字符串指针变量”的指针变量

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。