2019-05-10(定义struct 结构变量(两种格式) 与 声明结构)

参考 c primer plus p441、 p442

结构的声明:

struct book {
   char title[size];
   char author[size];
   int* value;
.....
}

这只是声明描述结构是由哪些类型的变量组成,并未创建实际的数据对象,只是描述了对象由什么组成; 有时我们称结构声明 为 模板 它勾勒出如何存储数据;

"声明的同时没有给结构分配空间"

关键于struct, struct后是一个可选的标记(例中 book),可以通过该标记引用该结构

struct book library; "声明一个使用book结构布局的结构变量"

定义结构变量:

struct book library; "声明一个使用book结构布局的结构变量"
声明结构布局的时候没有分配空间,创建(声明)结构变量编译器会使用book模板为改变量(library)分配空间,
内部的几个类型的变量储存空间是与名称(library)结合在一起的

声明可以简化:

struct book{
char
char
float
}library;"*声明的后面花括号之后很变量名"

将声明结构的过程与定义结构变量的过程合并起来了

如果打算多次使用模板 需要使用到标记(标记不是必须得),或者使用typedef。

你可能感兴趣的:(2019-05-10(定义struct 结构变量(两种格式) 与 声明结构))