回答
您不能分配數組在C您可以用memcpy()
功能複製它們,在<string.h>
聲明:
int a[3];
int b[] = {1,2,3};
memcpy(&a, &b, sizeof a);
這樣是不行的,因爲你已經找到。您不能在C中分配數組。
但是,結構是可分配的。所以,你可以這樣做:
typedef struct
{
int x[3];
} T;
T a;
T b = { { 1, 2, 3 } };
a = b;
由於這是直的,沒有任何功能做這份工作,所以我不必重寫很多代碼。 – Starfighter911
'a = b'是多少代碼? –
好吧,我試過這個:'T a []; T b [] = {{1,2,3}}; a = b;',它仍然不起作用。輸出:「表達式不是左值」。 – Starfighter911
- 1. 爲什麼「int a,b;」而「int c = a-b」在我給「a」和「b」賦值時不工作?
- 2. 爲什麼我不能在c#中爲這個數組賦值?
- 3. 爲什麼「a + + b」有效,但「a ++ b」不能?
- 4. 爲什麼我不能將數組賦給pandas DataFrame列?
- 5. 爲什麼我不能使用| a,b |而不是|(a,b)|在arr.map {|(a,b)|中!b.nil? ? a + b:a}?
- 6. 爲什麼「a &&(b = 5/a)」將「5/a」分配給「b」?
- 7. 爲什麼我不能在此代碼中將A *轉換爲B *?
- 8. 爲什麼我不能爲我的常量字段賦值?
- 9. 爲什麼我不能分配@b ||在Perl中@c到@a?
- 10. 爲什麼我不能將值賦給基類的成員?
- 11. 爲什麼a.compareTo(b)等於compareTo(a,b)或a.method(b)= method(a,b)?
- 12. 爲什麼(A - B)。^ 2在MATLAB中不等於(B - A)。^ 2?
- 13. 理解爲什麼A/B不工作,但fromInteger A/fromInteger B則
- 14. 爲什麼我不能爲測量<UnitMass>變量賦值?
- 15. 爲什麼「numpy.random.random((a,b))」不起作用?
- 16. 爲什麼a,b = 1不允許?
- 17. 如何將A * A std ::數組拆分爲B * B的塊?
- 18. 爲什麼我不能投向B *?
- 19. vector.push_back(B)和vector.push_back(new A((* B))),爲什麼行爲不一樣?
- 20. 爲什麼元組賦值失敗?
- 21. 爲什麼有A = A +之間的差異B和A + = B
- 22. 爲什麼fold會預期(a - > b - > a)而不是(b - > a - > a)?
- 23. 爲什麼的Equals [A <: B >:B,B]不編譯
- 24. 爲什麼我的數組中沒有賦值的值?
- 25. 爲什麼我不能使用{「a」,「b」}作爲字符串數組方法參數的輸入
- 26. 多個賦值var a = b = b || {}在JavaScript
- 27. 爲什麼將一個數組賦值爲null會創建一個空數組?
- 28. 爲什麼Numpy會以不同的方式處理a + = b和a = a + b
- 29. 爲什麼我不能使用三元運算符爲小數賦值?
- 30. 爲什麼我不能json_decode數組?
好的thx,這就是我搜索的東西。 – Starfighter911
@Jonathan Leffler:'&array'是一個有意的選擇 - 複製單個對象(這裏是一個單一的數組)時,我認爲應該首選'memcpy(&dest,&src,sizeof src)'形式(或'sizeof dest' - 他們應該是一樣的)。這是爲了保持一致性 - 如果'a'和'b'的類型是非數組類型,那麼相同的'memcpy()'行將起作用。你可能不同意,但希望你能看到選擇背後肯定存在「判斷」。 – caf
不是'&a'指向數組的指針嗎? – weberc2