本文–并没有—介绍结构体为什么是这样的,里面的内存分配(对于深入结构体来说非常重要),怎么写才是对内存空间最友好的。本文只适合快速区掌握一下怎么写,和对结构体的基本操作,指针对结构体的基本操作,和对结构体数组的基本操作。
结构体的学习内容
- 掌握结构体类型,变量的定义 和 初始化多种不同的写法
- 掌握结构体数组以及操作
- 掌握结构体指针以及操作
文章目录
一、多种定义方式的结构体
结构体类型的定义 结构体类型变量的定义 与 初始化
//这是结构体类型的定义
struct Stu{
char name[20];
int age;
float score;
};
//这是结构体类型变量的定义
struct Stu stu1;
//这是结构体类型变量的初始化
={
"nihao",100,1.11};
有多种结合方式
1.先声明结构体类型,然后定义类型的变量名,再初始化
int main(){
struct Stu{
char name[30];
int age;
float score;
};
//struct Stu stu1,stu2,stu3 可以很多个;
struct Stu stu1;
//后面再初始化的方式那就不可以一下子赋值了 stu1 = {" ",xxxx,xxxx);
//一旦是先定义类型,然后在定义类型变量,再初始化,那就不可以给字符串直接赋值了 ,和定义字符数组一样
//stu1.name = "ZhangSan"; 要用一些方法,比如字符串的复制
strcpy(stu1.name,"ZhangSan");
stu1.age = 19;
stu1.score = 100;
printf("%s %d %f\n",stu1.name,stu1.age,stu1.score);//ZhangSan 19 100.000000
return 0;
}
2.先声明结构体类型,然后定义类型变量名和立即初始化
int main(){
struct Stu{
char name[30];
int age;
float score;
};
//可以直接写字符
//struct Stu stu1={"LiSi",20,100.1},stu2={"WangWu,22,120"};
struct Stu stu1 = {
"LiSi",20,100.1};
printf("%s %d %.2f\n",stu1.name,stu1.age,stu1.score);//LiSi 20 100.10
return 0;
}
3.声明结构体类型时同时定义类型变量名,然后再初始化
int main(){
struct Stu{
char name[30];
int age;
float score;
}stu1,stu2;
//字符也不可以直接赋值了,要用某些方式如复制
//也不可以stu1 = {xxxx,xxx,xxxx};
strcpy(stu1.name,"LaoLiu");
stu1.age = 22;
stu1.score = 150;
printf("%s %d %.2f\n",stu1.name,stu1.age,stu1.score);//LaoLiu 22 150.00
return 0;
}
4.声明结构体类型时同时定义类型变量名和初始化

本文介绍了C语言中结构体的定义、初始化、引用、数组和指针操作,包括多种定义结构体变量的方式,结构体指针的使用,以及结构体在数据结构中的应用。
最低0.47元/天 解锁文章
3226





