s*******d 发帖数: 59 | 1 void function(char a[])
{
char (*p)[] = &a;
}
anybody tried this? |
k****f 发帖数: 3794 | 2 你想干吗??
【在 s*******d 的大作中提到】 : void function(char a[]) : { : char (*p)[] = &a; : } : anybody tried this?
|
t****z 发帖数: 229 | 3 lz想让p指向array a?
这样不行,&a在这里得到的是参数的地址
【在 k****f 的大作中提到】 : 你想干吗??
|
q*d 发帖数: 20 | 4 Does the a in the function parameter has a type of int * instead
of int[]?
Thanks,
【在 t****z 的大作中提到】 : lz想让p指向array a? : 这样不行,&a在这里得到的是参数的地址
|
t****z 发帖数: 229 | 5 yes, even when you declared the parameter as an array
【在 q*d 的大作中提到】 : Does the a in the function parameter has a type of int * instead : of int[]? : Thanks,
|
q*d 发帖数: 20 | 6 Thanks,
I guess it is the convention of C as long as a[] is declared in
the parameter list?
【在 t****z 的大作中提到】 : yes, even when you declared the parameter as an array
|
t****z 发帖数: 229 | 7 Yes. Always a pointer.
【在 q*d 的大作中提到】 : Thanks, : I guess it is the convention of C as long as a[] is declared in : the parameter list?
|
s*******d 发帖数: 59 | 8 上面的代码在vc++ 2005下面,编译有错误:
can't convert char *[] to char (*)[]
语义上,取数组的地址感觉没有意义,不知道为什么c++
要允许这样的操作:
char a[10];
char (*p)[10] = &a; |