[英]C: Why can I copy structs w/ static array members, but not static arrays?
typedef struct {
int p[10];
} array10;
int main() {
array10 a = {(int[10]){...}};
array10 b = {(int[10]){...}};
a.p = b.p; // #1. doesn't compile, can't assign to int[10]
a = b; // #2. successfully assigns b.p to a.p
}
雖然我明白這里發生了什么,但我覺得很好奇:如果#2 有效,那么為什么#1 不在語言中? 只要它們包裝在結構中,您就可以分配給 static arrays(從而按值傳遞它們)。 我是否遺漏了一些關於 C 的哲學,使它變得直觀?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.