我这样声明一个结构体数组:
```c++
```
但是我遇到了这个错误。
struct struct_name tab1[6] ={ {"1487" ,0.144}, {"148",2.1}, {"45",0.01}, {"12475847",0.52}, {"46",1.4}, {"0",5} };
struct struct_name tab2[7] = { {"1" ,0.9}, {"76",5.1},{"46",0.17},{"4625",0.0},{"46252",1.57},{"12",1.5},{"5",1.2} };
这很好运行。
现在我需要将tab1
和tab2
合并成一个数组global_tab
,但是我到目前为止还无法这样做。我尝试了动态分配,就像这样:
global_tab = malloc(2 * sizeof(struct struct_name *));
global_tab[0] = malloc(100 * sizeof(struct struct_name));
global_tab[0] = { {"1487" ,0.144}, {"148",2.1}, {"45",0.01}, {"12475847",0.52}, {"46",1.4}, {"0",5} };
但是我遇到了这个错误。
error: expected expression before ‘{’ token
global_tab[0] ={ {"1487" ,0.144}, {"148",2.1}, {"45",0.01}, {"12475847",0.52}, {"46",1.4}, {"0",5} };
我希望能够像初始化 tab1
一样初始化 global_tab[0]
global_tab [0] = something
然后global_tab [0] = something else
意味着第一个赋值实际上是无用的。这就像做int i = 5; i = 6;
。 - barak manos