本文目錄一覽:
在C語言中,為什麼數組之間不可以直接賦值,而結構體之間可以直接賦值,求了解的給詳細解答一下,謝謝!!!
因為數組名就是數組第一個元素的指針常量,是一個常量左值。可以賦值的必須是非常量左值,常量左值和右值是不可以被賦值的。
以上是我個人的理解,有疑問繼續追問。
C語言中結構體中的數組,不能直接賦值嗎
數組不能整體賦值,需要逐個元素賦值,但是如果這個數組是一個結構體的成員,可以通過結構體之間的直接賦值間接達到數組整體賦值的效果,即:
t1.mark=t2.mark;//非法,數組不能直接整體賦值。
t1=t2;//合法,在此之後,t2.mark數組將被整體複製到t1.mark數組。
C語言中結構體中的數組,不能直接賦值嗎?
因為數組名就是數組第一個元素的指針常量,是一個常量左值。可以賦值的必須是非常量左值,常量左值和右值是不可以被賦值的。 以上是我個人的理解,有疑問繼續追問。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270868.html