所以我得到了这样一个联盟:
union A
{
struct{
SomeType B;
}b;
struct{
SomeType C;
}c;
}a[2];
那个[2]是什么意思?
答案 0 :(得分:6)
a
A
,其大小为union
,类型为union A
{
struct{
SomeType B;
}b;
struct{
SomeType C;
}c;
};
A a[2];
,为Array
(
[78445] => Array
(
[title] => Never change
)
[78441] => Array
(
[title] => test 123
)
[78439] => Array
(
[title] => test 111
)
[78893] => Array
(
[title] => test 222
)
[78893] => Array
(
[title] => test 555
)
)
。对于所有类类型,这都是相同的。
与
相同Array
(
[0] => 78439
[1] => 78441
[2] => 78893
[3] => 78891
)
答案 1 :(得分:2)
此声明
union A
{
struct{
SomeType B
}b;
struct{
SomeType C
}c;
}a[2];
实际上相当于以下两个声明
union A
{
struct{
SomeType B
}b;
struct{
SomeType C
}c;
};
A a[2];
即a
是由union A
类型的两个元素组成的数组。
答案 2 :(得分:0)
a[2]
声明变量a
,即A
类型的数组,其大小为2
。