指向数组的指针,数组是指针数组
请问这里面有几层呀指向的数组是指针数组,里面存放的是指针变量嘛;
为什么不能用
*(*p2+i)
而是
*(*(p2+i))
大神们帮帮我{:5_104:}
char *p1 = { 'A','B','C','D' };
char(*p2) = &p1;
for (int i = 0; i < 4; i++)
{ printf("%c\n", *(*(p2+i))); } 本帖最后由 jackz007 于 2020-12-16 15:11 编辑
如果有定义
int d[] = {{1 , 2 , 3} , \
{4 , 5 , 6}} ;
int (* p) = d ;
则:
* ( * p + j) = * ( * (p + 0 ) + j) = p = d
而:
* (* (p + i)) = * ( * (p + i) + 0) = p = d 有人嘛嘛 jackz007 发表于 2020-12-16 15:10
如果有定义
则:
一个是行 一个是列嘛 万千只cnm 发表于 2020-12-16 19:30
一个是行 一个是列嘛
* ( * (p + i) + j) 其实就是 p[ i ][ j ],i 是行,j 是列
页:
[1]