行指针与指向指针的指针的关系,,求解

0o涛涛o0 发布于 2016/03/02 22:13
阅读 137
收藏 0

行指针与指向指针的指针的关系,,求解

另外我想知道怎么用malloc返回一个行指针,因为我用malloc想开辟二维数组,返回的只是一级指针,在后面操作时繁琐,我就想问下上面的问题,来理解一下

加载中
0
木兰宿莽
木兰宿莽

行指针:就是指向一个数组的指针,如 char (*ptr)[4]; ptr就是一个指向有4个char元素的数组的指针,其中ptr[j]表示这个数组中的第j+1个元素的值。当然一般来讲行指针往往和二维数组一起用,比方有个char Arry[4][4];那么让ptr指向Arry的第一行就是如下赋值:ptr=Arry[0];,第二行就是ptr=Arry[1];依此类推。此时,(ptr+i)[j]就表示第i+1行的第j+1列的元素值。

指向指针的指针:就是二级指针,像这样:char tmp;char* p1=&tmp;char** p2=&p1;这个没什么好说的 

木兰宿莽
木兰宿莽
回复 @0o涛涛o0 : 这么和你说吧,在内存里面不存在什么几维数组。typedef char Arry[4][4]; Arry* p=(Arry*)malloc(sizeof(Arry));
0o涛涛o0
0o涛涛o0
二维数组是怎么开辟的呢?如:a[3][4]是一开始就开辟一个12个空间还是其他呢
返回顶部
顶部