int(*ptr)[10]; 这个语句到底是什么意思?完全不理解,请求详解!!谢谢谢谢。。

 我来答
tsx86
2011-08-12 · TA获得超过2703个赞
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:152万
展开全部
楼主你好。学习指针是有好多概念容易混淆。下面我帮你区别一下:
1、int(*ptr)[10];------ptr为指向含n个元素的一位数组的指针变量(是指针)
2、int *ptr[10];-------定义指针数组ptr,它由n个指向整型数据的指针元素组成(是数组)
3、int(*)[10];--------实际上可以看作是一种数据类型。也就是第一个(int(*ptr)[10];)定义的ptr的数据类型
其实你要看这种到底是什么,就是要看他最先和谁结合。 比如1中ptr先与*结合,那就说明ptr本质是一个指针;而2中ptr先与后面的[10]结合,说明他本质是一个数组。再慢慢理解。如有疑问可以再问我。
yaohq1988
2011-08-12 · 超过14用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:41.7万
展开全部
int a[10], 理解吧,就是一个整形数组。
然后把a换成(*ptr),就是说指针ptr指向a,而a是一个整形数组,
所以int(*ptr)[10]; 就是指针ptr指向一个含有是个整形数的整形数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chichujn
2011-08-12 · TA获得超过663个赞
知道小有建树答主
回答量:1534
采纳率:50%
帮助的人:1109万
展开全部
有括号的先看括号。
*ptr表明ptr对象是一个指针。
然后从右向左看。
[10]表明ptr是一个指向数组的指针。这个数组是什么类型的呢?
看最左边:int,表明数组是int类型的。
所以,ptr是一个指向int类型维度10的数组的指针。
追问
那么int(*)[10]又是什么意思呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu80323551
2011-08-12
知道答主
回答量:39
采纳率:0%
帮助的人:20.6万
展开全部
定义一个指针数组ptr 其中含有10个指针变量分别,指向10个int类型的变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ROYTOTO
2011-08-12 · TA获得超过732个赞
知道小有建树答主
回答量:532
采纳率:0%
帮助的人:369万
展开全部
10表示一个二维数组的列数(例子:a[5][10])这里的ptr是一个二维数组的指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式