1.介绍C语言结构体
结构体是一种用户自定义的数据类型,它可以包含多个不同类型的数据成员。结构体可以用于将相关的数据进行组织和存储,以便于处理和操作。
结构体的定义通常包括以下几个部分:
1.结构体关键字 struct
2.结构体的名称
3.结构体的成员列表,每个成员包括成员的类型和名称
2. 结构体的使用
1.定义结构体
struct Person {
int age;
char name[50];
float height
};
或者:
typedef struct {
int age;
char name[50];
float height
} Student;
这两个可以体现在下面的声明结构体变量,也就是初始化变量,和int a;这种是一个意思
2.声明结构体变量
这对应上面的第一种结构体定义
struct Person s1;
这对应上面的第二种结构体定义
Student s1;
这俩的区别显而易见
第一种结构体定义之后,在声明变量时写法是struct+结构体名+变量名
第二种结构体定义之后,在声明变量时写法是结构体名+变量名
不管哪一种写法都是可以的,但是在声明变量的时候一定要对应的上,因为我当时就干过这蠢事,报错然后半天没搞懂问题在哪,也是自己以前学的不好吧,没搞明白,只是会用
这一部分我个人理解就是和int等数据类型定义是相同的,定义了一个名字是s1类型是Person的结构体变量
3.访问结构体成员
使用结构体变量名和点操作符来访问结构体变量的成员。点操作符用于访问结构体变量的成员变量,如下所示:
Student s1;
s1.age = 18;
strcpy(s1.name,"Tom");
s1.hieght = 180;
上面这就相当于变量赋值,例如int i = 10;
也可以在定义结构体变量的同时进行初始化
Student s1= {18, "Tom", 180};
strcpy()函数
strcpy()函数:是将一个字符串复制到另一块空间地址中 的函数,‘\0’是停止拷贝的终止条件,同时也会将 ‘\0’ 也复制到目标空间。下面是库中的strcpy()函数声明:
char* strcpy(char* destination,const char* source);
- char* destination---------目标字符串的首地址
- const char* source------源地址:被复制的字符串的首地址,用const修饰,避免修改掉被拷贝的字符串
理解:就是把后面的内容写入到前面的地址
strcpy(s1.name,“Tom”);
就是将名字"Tom"写入到结构体变量s1中的name数组
4.使用结构体变量
printf("Name: %s\n", s1.name);
printf("Age: %d\n", s1.age);
还是和普通的变量一样,正常输出即可,根据类型然后使点(.)符号来访问即可
OK,结构体就到这里了,基本已经够开始继续写学生管理系统了