【发布时间】:2020-10-23 11:59:25
【问题描述】:
所以我想这样做:
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 值?
【问题讨论】:
-
顺便说一句,
struct element tmp = element{3}这不是有效的 C 代码。虽然它是有效的 C++。