求解答
麻烦能说下下面的声明是什么意思
1 int (**p)[10];
2 int* (*p)[10];
3 int*((*p)[10]);
最好能举例一下~~~~~~
[解决办法]
例子就是你写的,在下认为
1、声明指向有10个整型元素的数组的指针的指针;
2、声明指向有10个整型指针元素的数组的指针;
3、和2没区别吧,没见过这种写法,根据C语言结合性和优先级是酱紫滴~
[解决办法]
int 表示指针指向的元素的数据类型
后面的看运算符级别,括号>[]>*
第一个:括号级别大,即认为是二级指针,这个指指向有10个整型元素的数组;
第二个: 先计算括号,在计算[],后*,即是说为指针,这个指针指向含有10个整型元素的数组,外面加*,即这个指针为二级的;
第三个:从运算级别上与第二个相同,结果一样。
例子:int *p【10】;
【】级别较大,即它为数组,数组中存的是指针,即指针数组(由指针构成的数组)
int (*p)[10]
这个同问题的第一个相同,自己理解一下吧!