float a[1000];
float b[1000];
float c[1000];
int main()
{
float *w1;
w1 = &a;
float *w2[1000];
w2 = &b;
...
}
错误:无法在作业中将float (*)[1000]
转换为float*
- w1
和编译器抛出错误:float*
到float * [1000]
到w2
答案 0 :(得分:2)
可能你打算做这样的事情?
float a[1000];
float b[1000];
float c[1000];
int main()
{
float *w1;
w1 = a; // no need of &
float *w2; // no need of [1000]
w2 = b; // no need of &
return 0;
}
答案 1 :(得分:1)
float *w2[1000];
是错误的,应该是float *w2;
float a[1000];
float b[1000];
float c[1000];
int main()
{
float *w1;
w1 = a;
float *w2;
w2 = b;
}
编译没有错误。
'&'用于单个变量,而不是单个变量的数组。当您使用[]
实例化数组时,您的变量实际上会转换为指针。