C语言指针问题

2024-11-28 16:12:11
推荐回答(2个)
回答1:

int (*p)[3]; p 是一个 “行指针”,每行有3个元素。
p=a; 让 行指针 p 指向 a[0]这行。p 指向的地址等于 &a[0][0]。
*(p[1]+1) 等于 p[1][1] , 等于 a[1][1] 元素的值。
printf("%d %d %d\n",*(p[1]+1),p[1][1], a[1][1]); 输出 元素的值。
A: (p+1)[0] 这个是地址,等于 &a[1][0]。
B: *(*(p+2)+1) 如果 声明的是 int a[3][3],那么是对的,它等于 a[2][1] 元素的值,
可惜,声明的是 int a[2][3]。
D: p[1]+2 把地址看作数值,在运算,与 a的元素 没什么关系。

回答2:

等我打完游戏我跟你讲