[英]In C, how do I "directly" copy a struct to an array member?
所以我想這樣做:
struct element{
int t;
};
int main(int argc, char *argv[]) {
struct element arr[10];
arr[0]={3};
return 0;
}
但這給了我以下錯誤:
test.c: In function ‘main’:
test.c:7:10: error: expected expression before ‘{’ token
7 | arr[0]={3};
| ^
為了解決這個問題,我將不得不求助於寫作:
int main(int argc, char *argv[]) {
struct element arr[10];
struct element tmp = {3};
arr[0]= tmp;
return 0;
}
但是我認為當我只想直接分配給element{3}
時,寫一個 tmp 值是不雅的。 如何修復語法以便我不需要創建此tmp
值?
你想要的是一個復合文字:
arr[0]=(struct element){3};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.