关于C语言指针的一个问题

我想问一下,C语言中int*p[4]和(*p)[4]有什么区别int*p[4]和int(*p)[4]... 我想问一下,C语言中
int *p[4]和(*p)[4]
有什么区别
int *p[4]和int (*p)[4]
展开
 我来答
nickcart
2007-04-09 · TA获得超过260个赞
知道答主
回答量:84
采纳率:0%
帮助的人:0
展开全部
int *p[4]指的是一个类型为整型的指针数组,换句话说,就是该数组内所有元素都是指针.

int (*p)[4].一个指向有4个整型数数组的指针.说术语恐怕难于理解.我把我对(*p)[4]的理解说下,仅供参考.

int (*p)[4]就相当于一个2维数组.为什么这么说呢?考虑下int *p和int p[4]
,对于数组p,p可以代表该数组.但对于int *p,p也可看做为数组,如果对*p做限制,指向内存的4个连续位置,则与p[4]无异.
也就是说,*p可以视做一个数组的起始地址.在*p后追加[4],就是在每一个地址后,又追加4个元素,那么抽象来看,int (*p)[4]所形成的内存分配就是一个2维数组.

从术语来看,4个整型数数组就意味着一个2维数组,由于修饰为*p,所以为指针.

说的比较乱.所以能看明白最好,看不明白我也就无能为力了,毕竟不能面对面来探讨这个问题.
百度网友0e2770a
2007-04-09 · 超过16用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
我没见过(*p)[4],只见过前一种,是求指针指向的数组中第四个的值!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式