Q:结构体的作用及其优势。
A:struct将相关联的数据打包成一个整体,方便使用,我们将多种数据组合起来的整体称为结构体。结构体可以很好的将需要传送的内容保存在一个整体中,同时结构体也可以压缩函数参数个数。
Q:结构体和数组的比较。
A:同:都由多个元素组成;各元素在内存中的存储空间是连续的;异:数组中各元素德邦数据类型相同,结构体内可以不同。
Q:结构体定义及使用。
A:一般形式:
Struct 结构体名
{
类型名1 成员名1;
类型名2 成员名2;
类型名3 成员名3;
};
例:
Struct student
{
Char name[10];
Char sex;
Int age;
Float soore;
};
定义结构体类型的变量、指针变量和数组。
方法一:定义结构体类型时,同时定义该类型的变量。
Struct [tudent]
{
Char name[10];
Char sex;
Int age;
Float soore;
};stu1,*ps,stu[5];
方法二:先定义结构体类型,再定义该类型的变量。
Struct student
{
Char name[10];
Char sex;
Int age;
Float soore;
};struct student stu1,*ps,stu[5];
方法三:用类型定义符typedef先给结构体类型命别名,再用别名定义变量。
typedef Struct [tudent]
{
Char name[10];
Char sex;
Int age;
Float soore;
}STU;
STU stu1,*ps,stu[5];
为结构体变量赋初值:
Struct [tudent]
{
Char name[10];
Char sex;
Int age;
Float soore;
};stu[2]={{“Li”,”F”,”22”,”90.5”},{“su”,”M”,”20”,”88.5”}};
Q:#define和typedef
的区别。
A:typedef是为了增加可读性二为标识符另起的新名称,而#define在C中只是为了定义常量。
在定义关键字,亢长的类型的别名时用typedef。宏定义是简单的字符串代换,而typedef定义的新名称具有一定的封装性。
Q:结合体和联合体的区别。
A:struct和union都是由多个不同的数据类型成员组成的,union中只能存放一个被选中的成员,struct中的所有成员都在。