二级指针变量从函数返回的二级指针地址会降级吗?
#include<stdio.h>#include<stdlib.h>
int main()
{
int **pArray2;
int iIndex1,iIndex2;
pArray2=(int**)malloc(sizeof(int*[3]));
//上面的pArray2得到函数的返回值是几级指针地址?二级?二级指针变量只能取一级指针变量的地址吧,那应该是int*呀,难道会降级?
for(iIndex1=0;iIndex1<3;iIndex1++)
{
*(pArray2+iIndex1)=(int*)malloc(sizeof(int[3]));
//还有这里的pArray我看蒙了,为什么二级指针变量可以得到int*?
for(iIndex2=0;iIndex2<3;iIndex2++)
{
*(*(pArray2+iIndex1)+iIndex2)=iIndex1+iIndex2;
}
}
for(iIndex1=0;iIndex1<3;iIndex1++)
{
for(iIndex2=0;iIndex2<3;iIndex2++)
{
printf("%d\t",*(*(pArray2+iIndex1)+iIndex2));
}
printf("\n");
}
return 0;
}