我不知道我分配給其他2維數組的地址問題在哪裏。請幫我解決這個問題無效的陣列分配
int main()
{
int a[3][2];
int b[2]={0,1};
a[2]=b;
return 0;
}
prog.cpp:8:9: error: invalid array assignment
我不知道我分配給其他2維數組的地址問題在哪裏。請幫我解決這個問題無效的陣列分配
int main()
{
int a[3][2];
int b[2]={0,1};
a[2]=b;
return 0;
}
prog.cpp:8:9: error: invalid array assignment
您不能複製使用=
數組。你也不能指定一個數組的地址;例如,當x
和y
具有類型char[1]
時,x = y;
也不起作用。向b
內容複製到a[2]
,使用memcpy
:
memcpy(a[2], b, sizeof(a[2]));
這種分配不是possible.Array允許特定的位置分配。 你可以嘗試這樣的:
int main()
{
int a[3][2];
int b[2]={0,1};
a[0][0]=b[0];
a[0][1]=b[1];
return 0;
}
你應該通過一個迭代的b[2]
的每個元素,並存儲到它a[2]
試試這個:
int main()
{
int a[3][2];
int b[2]={0,1};
for(int i=0;i<2;i++){
b[i]=a[2];
return 0;
}
因爲標準是這樣說的。數組不能分配,只能初始化。 所以 C:
int i;
for(i = 0; i < 2; i++)
{
a[2][i] = b[i];
}
...
C++:您可以使用的strcpy!
哦,你可以用memcpy – Zjh