本文介绍了初始化 typedef 结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
为什么这样做:
struct person {
char name[50];
short mental_age;
} p1 = {"Donald", 4};
但不是这个:
typedef struct {
char name[50];
short mental_age;
} PERSON p1 = {"Donald", 4};
有没有办法在定义这个结构时创建一个 typedef 结构并初始化 Donald?
Is there a way that I can make a typedef struct and initialize Donald when I define this struct?
推荐答案
typedef
是其他类型的别名.您正在做的是创建一个方便的typedef
.由于typedef
的目的是创建type 别名,因此您不能使用它定义变量.
typedef
s are aliases for other types. What you're doing is creating a convenience typedef
. Since the purpose of a typedef
is to create type aliases, you can't define a variable using it.
你必须这样做:
typedef struct {
// data
} mytype;
mytype mydata = {"Donald", 4};
这篇关于初始化 typedef 结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!