如何区分这几个指针呢?
请问大家这三个如何理解呢?他们的功能有什么不同呢?
int*p[4];
int(*p)[4];
int*(*p)[4];
2006-08-11 22:10

2006-08-11 22:47
1.指针数组
2.指向一个有4个元素的二维数组的行指针
3.指向一个有4个元素的二维数组的行指针.且这个二维数组的每个元素全部为int型的指针
简单点
2.
int a[4][4];
int (*p)[4]=a;
3.
int *a[4][4];
int *(*p)[4]=a;
PS.外带个超值赠送. int(**p)[4] 为一个指向一个有4个元素的二维数组的行指针的指针

2006-08-11 23:50

2006-08-12 00:01
哎
忘记了哦
int *p[4]!=int(*p)[4]????
应该看书了

2006-08-12 00:27
2006-08-12 01:03

2006-08-12 05:04


2006-08-12 10:48
yeshirow说:
int (*p)[4]:
p 是一個指針 (*), 指針指向 4 個元素的數組, 每個元素爲 int
SunShining说:
很显然这是错误的..(*p)[4]指向的必须是一个二维数组
简单的例子..看看
int a[4];
int (*p)[4]=a; 可以编译通过吗?
你们谁是正确的呀!我是出学者!
2006-08-12 11:22
2006-08-12 11:26