C语言结构体(必须掌握版)

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

本文–并没有—介绍结构体为什么是这样的,里面的内存分配(对于深入结构体来说非常重要),怎么写才是对内存空间最友好的。本文只适合快速区掌握一下怎么写,和对结构体的基本操作,指针对结构体的基本操作,和对结构体数组的基本操作。
结构体的学习内容

  1. 掌握结构体类型,变量的定义 和 初始化多种不同的写法
  2. 掌握结构体数组以及操作
  3. 掌握结构体指针以及操作


一、多种定义方式的结构体

结构体类型的定义 结构体类型变量的定义 与 初始化

	//这是结构体类型的定义 
	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.声明结构体类型时同时定义类型变量名和初始化

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值