2012-07-31 100 views
2

我在C編程,想知道是否可以一次將多個值分配給多維數組? 我試過一些技巧,但都失敗了! 我不想循環遍歷數組來分配值(我想要禁食的方式爲數組中的所有索引分配新值)。 我正在使用的數組:ary [4] [4]。如何分配多個值一次到多維數組後創建它 - 在C?

+1

你能展示失敗的技術嗎? – 2012-07-31 05:52:48

回答

2

由於數組不是可修改的左值,因此它不能出現在賦值的左側。您可以初始化它,並且可以通過索引分配單個成員。

6.3.2.1

一個作案網絡能夠左值是不具有數組類型的左值, 沒有......

而且可修改lvalue

名稱「左值」最初來自賦值 表達式E1 = E2,其中左操作數E1被要求爲 (可修改)左值。

所以不,你不能做你想做的。

+0

您可能想在答案的末尾加上「so no」。 – 2012-07-31 06:00:16

+0

@本打電話。 – cnicutar 2012-07-31 06:00:43

3

來自另一個的memcpy將覆蓋已在ary中的內容。

int ary[4][4]; 
int another[4][4] = {{1,2,3,4}, {5,6,7,8}, {1,2,3,4}, {5,6,7,8}}; 
memcpy(ary, another, 4 * 4 * sizeof(int));