假设我有以下类型的结构:
struct employee
{
int emp_id;
int name_len;
char name[0];
};
我知道
struct employee *e = malloc(sizeof(*e) + sizeof(char) * 128);
相当于
struct employee
{
int emp_id;
int name_len;
char name[128]; /* character array of size 128 */
};
我的问题是,当结构中的最后一个元素是 struct hack 时,我可以创建一个此类结构的数组吗?
示例:我想创建一个结构数组employee[3];以便
employee[0] 可以等价于
struct employee
{
int emp_id;
int name_len;
char name[128]; /* character array of size 128 */
};
雇员[1] 可以等价于
struct employee
{
int emp_id;
int name_len;
char name[256]; /* character array of size 256 */
};
雇员[2] 可以等价于
struct employee
{
int emp_id;
int name_len;
char name[512]; /* character array of size 512*/
};