C Programming Language>第八章 8.3定义结构体变量及常用方式 struct date int month, day, year struct book char author [16], bookname [32], publ ish [60] struct date pub l i shdate float pr ice; I book1 U≤ lin( ustc, o(Lcnb
struct date{ int month, day, year; } struct book{ char author[16],bookname[32],publish[60]; struct date publishdate; float price; } book1; 8.3 定义结构体变量及常用方式
C Programming Language>第八章 语注意 "正确区分类型与变量的概念,只能对变量赋 值、存取或运算,不能对一个类型赋值、存取 或运算 设 为书写方便,可利用宏定义 define student struct student U≤ lin( ustc, o(Lcnb
注意: ▪ 正确区分类型与变量的概念,只能对变量赋 值、存取或运算,不能对一个类型赋值、存取 或运算; ▪ 为书写方便,可利用宏定义: #define STUDENT struct student
C Programming Language>第八章 84结构变量的初始化 类似于对数组的初始化。传统的C规定,只 有全局的或局部静态的结构变量才能初始化 不能对动态局部结构变量进行初始化;新的 ANSC和标准C的版本中取消了上述限制,允 许对自动结构变量进行初始化,但初始化的时 间是在相应函数执行时进行 U≤ lin( ustc, o(Lcnb
类似于对数组的初始化。传统的C规定,只 有全局的或局部静态的结构变量才能初始化, 不能对动态局部结构变量进行初始化;新的 ANSI C和标准C的版本中取消了上述限制,允 许对自动结构变量进行初始化,但初始化的时 间是在相应函数执行时进行。 8.4 结构变量的初始化
C Programming Language>第八章 84结构变量的初始化 对于需要初始化的结构变量最好是把 它定义为静态变量。其它的在函数执行 l时用赋值语句或通过 scanf函数对各成员 设分别赋值 U≤ lin( ustc, o(Lcnb
8.4 结构变量的初始化 对于需要初始化的结构变量最好是把 它定义为静态变量。其它的在函数执行 时用赋值语句或通过scanf函数对各成员 分别赋值
Programming Language>第八章 1.外部的结构变量初始化(全局变量)。 struct student I nt ni char name [20], sex, addr[20] J a=[0307001, " zhang san",'m', 123ShangHa i Rood") 或先有类型,再定义说明结构变量。 设 struct student a= 0307001,"zhang san",'m,"123ShangHa i Rood" U≤ lin( ustc, o(Lcnb
1.外部的结构变量初始化(全局变量) 。 struct student{ int num; char name[20],sex,addr[20]; }a={0307001,"zhang san",'m',"123ShangHaiRood"}; 或先有类型,再定义说明结构变量。 struct student a = { 0307001,"zhang san",'m',"123ShangHaiRood"};