Mat*_*ose 3 c struct initialization
typedef struct
{
int id = 0;
char *name = NULL;
char *department = NULL;
int phone = 0;
} emp;
Run Code Online (Sandbox Code Playgroud)
在C编程中,做这样的事情是一个很好的编程习惯,或者,当我声明变量'emp'时,我应该初始化.
我正在使用GCC编译器,上面的代码确实编译.我想知道它是否是正确的初始化方式.
随着typedef struct { ... } emp;您正在创建一个名为"emp"的新复杂类型.当您声明类型为"emp"的变量时,通常会将其初始化.
我会选择:
typedef struct
{
int id;
char *name;
char *department;
int phone;
} emp;
emp myVar = {
/* id */ 0,
/* name */ NULL,
/* department */, NULL,
/* phone */ 0
};
Run Code Online (Sandbox Code Playgroud)