C语言结构体数组的定义?
所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。
定义结构体数组和定义结构体变量的方式类似,请看下面的例子:
struct stu{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
}class[5];
表示一个班级有5个学生。
再如:
假如要定义一个班级40个同学的姓名、性别、年龄和住址, 可以定义成一个结构数组。如下所示:
struct{
char name[8];
char sex[2];
int age;
char addr[40];
}student[40];
也可定义为:
struct string{
char name[8];
char sex[2];
int age;
char addr[40];
};
struct string student[40];
需要指出的是结构数组成员的访问是以数组元素为结构变量的, 其形式为:
结构数组元素.成员名
例如:
student[0]
.name
student[30]
.age
实际上结构数组相当于一个二维构造, 第一维是结构数组元素, 每个元素是
一个结构变量, 第二维是结构成员。
注意: 结构数组的成员也可以是数组变量。
C语言中什么叫字节,字符?
字节是计算机中的基本存储单位,通常表示为8位二进制数,也就是一个字节可以存储8个二进制位,其大小为8位,或者称为1个八位字节。而字符则是在计算机中被表示为一系列的二进制数,通常使用ASCII码来表示,每个字符对应一个唯一的ASCII码。在C语言中,一个字符通常被定义为一个字节的大小,可以使用char类型来存储,而一个字符串则由多个字符组成,使用字符数组来存储。在编程中,理解字节和字符的概念是非常重要的,因为它们是计算机存储和处理数据的基本单位。
c语言为什么要定义数组?
数组,顾名思义,是相同类型的数组成的一个组,也就是说是把相同类型的一系列数据统一编制到某一个组别中。这样就可以通过数组名+索引号简单快捷的操作大量数据。
这就和全校学生一样,把学生分成多个班级,每个学生都是班级中的一员,如果要找张三,如果没有班级的话,就要在全校学生中一个一个寻找,一直到找到为止;但是如果引入了班级,就可以在某某班级中寻找张三,这样就更加方便快速了。
C语言的字符数组str[]的定义和用法?
char*str[M]
这是定义了一个字符指针数组str,即str数组的每个元素都是一个指针,可以指向一个char地址。系统为它分配M个sizeof(int)长度的空间。
charstr[M][N]
这是定义了一个二维字符数组,可以存储M*N个字符,系统为它分配M*N个sizeof(char)长度的空间。

