结构的大小

时间:2013-12-09 19:46:37

标签: c struct size malloc structure

我有一个结构:

typedef struct {
    char fname[100], lname[100];
    int age, salary;
} *employer;

现在,我想要一个指针变量 empl1 ,它包含100名员工的足够空间:

employer empl1 = malloc(100 * sizeof(employer));

问题是 sizeof(雇主) 4 (我机器上指针的大小)。 我如何获得所有雇主结构的大小? (在我的情况下为208)。

1 个答案:

答案 0 :(得分:5)

你有{em>无效(站不住脚)使用typedef struct,s / b typedef struct ... employer;(没有星号/指针)

我还建议您这样做:

typedef struct {
   char fname[100];
   char lname[100];
   int age;
   int salary;
} employer;