int(*ptr)[10]; 这个语句到底是什么意思?完全不理解,请求详解!!谢谢谢谢。。
5个回答
展开全部
楼主你好。学习指针是有好多概念容易混淆。下面我帮你区别一下:
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]结合,说明他本质是一个数组。再慢慢理解。如有疑问可以再问我。
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]结合,说明他本质是一个数组。再慢慢理解。如有疑问可以再问我。
展开全部
int a[10], 理解吧,就是一个整形数组。
然后把a换成(*ptr),就是说指针ptr指向a,而a是一个整形数组,
所以int(*ptr)[10]; 就是指针ptr指向一个含有是个整形数的整形数组。
然后把a换成(*ptr),就是说指针ptr指向a,而a是一个整形数组,
所以int(*ptr)[10]; 就是指针ptr指向一个含有是个整形数的整形数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有括号的先看括号。
*ptr表明ptr对象是一个指针。
然后从右向左看。
[10]表明ptr是一个指向数组的指针。这个数组是什么类型的呢?
看最左边:int,表明数组是int类型的。
所以,ptr是一个指向int类型维度10的数组的指针。
*ptr表明ptr对象是一个指针。
然后从右向左看。
[10]表明ptr是一个指向数组的指针。这个数组是什么类型的呢?
看最左边:int,表明数组是int类型的。
所以,ptr是一个指向int类型维度10的数组的指针。
追问
那么int(*)[10]又是什么意思呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义一个指针数组ptr 其中含有10个指针变量分别,指向10个int类型的变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
10表示一个二维数组的列数(例子:a[5][10])这里的ptr是一个二维数组的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询