01
C语言笔记10
第十节:结构体
1.在C语言中可以使用结构体定义用户自己的数据类型,类似于数组,但是结构体中的成员可以是不同的数据类型。
struct结构体类型名变量名;
例如:
structStudent{
charname[];
intage;
floatscore;
};//定义了一个名为Student的数据类型,该类型是一个结构,包括name、age、score三个成员
structStudentstudent;//定义了一个名为student的变量,该变量是structStudent类型的
structStudentstudent2;
structStudentstudent3;
先用typedef定义结构体类型别名,再用该别名定义变量
typedef原始类型类型别名;
typedefunsignedintUINT;
UINTa;//等价于unsignedinta;
typedefintBOOL;
typedefstructStudent{
charname[];
intage;
floatscore;
}STU;
STUstudent;
STUstudent2;
STUstudent3;
嵌套结构:一个结构体类型中的某个成员也是结构体类型的。例如:
structStudent{
charname[];
intage;
floatscore;
structDate{
intyear;
intmonth;
intday;
}birthday;
};
2.结构型变量及数组的初始化
通过{}对结构型变量进行初始化s。
3.访问结构体的成员
1)通过变量访问成员:用.运算符,亦称成员访问运算符。
2)通过指针访问成员:用-运算符,亦称间接成员访问运算符。
4.结构类型的变量可以作为函数的参数,但是与基本类型参数的情况一样,虚实结合的过程只是值的复制,因此在函数内部对形参所做的修改,不会影响实参。如果希望函数能够改变实参的值,应该传入变量的地址。
5.即使是以读方式访问形参的函数,仅仅出于性能的考虑,也可以以地址方式传参,避免结构复制所带来的开销。为了防止在函数中意外地修改实参,可以用常量指针定义参数。
要学习更加多请扫一扫下面的北京中科医院几级北京普通治疗白癜风多少钱呢