读书人

数组指针到底如何赋值

发布时间: 2012-02-11 09:51:34 作者: rapoo

数组指针到底怎么赋值啊
int a[6];
int (*b)[6]=???? //到底&a还是a !!!!???

还有把数组指针做函数形参时
fun(int (*p)[6]){}

int a[5]
实参是写fun(a),还是fun(&a)我晕了

[解决办法]
你好像写错了 int (*b)[6]是表示 b是一个指针,指向一个含有6个整形变量的数组
如果是要表示指向整形变量 int *b[6];

[解决办法]
我是要指向数组
但不知道 b= &数组名 还是 数组名
[解决办法]
把数组指针做函数形参时
fun(int (*p)[6]){}

int a[6]
实参是写fun(a),还是fun(&a)我晕了

应该这样写,写错一个6写5了
[解决办法]
int a[6]
int *pa = a // 指向一维数组的指针

int b[5][6];
int (*pb)[6] = b; // 指向int[6]数组的指针, 即二维数组指针

void f1(int *p);
void f2(int (*p)[6]);
f1(a);
f2(b);

[解决办法]
取数组名的地址。
[解决办法]
取数组名的地址。
-----------------------------
&a ???
[解决办法]
int main()
{
int arr[3];
int (*ptr)[3] = &arr;
char *strarr[2] = { "abc ", "def "};
char *(*pstr)[2] = &strarr;
return 0
}


int a[2][3];
void funcn(int (*p)[2][3])

int main()
{
funcn(&a);
return 0
}
---------------我看到个例子,这样的???
[解决办法]
int a[6];
int (*p)[6] = &a; // 这样是可以赋值的
后面取值必须是p[0][i];
如果是int *p=a;取值就是p[i]
[解决办法]
我好象来晚了啊
[解决办法]
int a[6];
int (*b)[6]=???? //到底&a还是a !!!!???
_____________________________________________
是a 。int (*b)[6]是表示 b是一个指针,指向一个含有6个整形变量大小的空间。
数组名是一个指针,所以a是一个指针。

还有把数组指针做函数形参时
fun(int (*p)[6]){}

int a[5]
实参是写fun(a),还是fun(&a)我晕了
____________________________________
因该是a[6]吧?是fun(a),解释同上。

读书人网 >C语言

热点推荐