C语言学习笔记——结构体章节

学习小结

c语言结构体学习笔记汇总

//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//结构体 
//结构体类型的声明
//结构体初始化
//结构体成员访问
//结构体传参

//结构体类型的声明
//结构是一些值的集合,这些称为成员变量,结构体的每个成员可以是不同类型的变量
//描述一个学生
//名字
//年龄
//电话
//性别
//定义一个结构体类型
//struct结构体关键字  Stu结构体标签  struct Stu结构体类型
//第一种写法
//struct Stu
//{
//	//成员变量
//	char name[20];
//	short age;
//	int tele[12];
//	char sex[5];
//}s1,s2,s3;//s1,s2,s3是三个全局的结构体变量
//第二种写法
//typedef struct Stu//重命名结构体类型
//{
//	//成员变量
//	char name[20];
//	short age;
//	int tele[12];
//	char sex[5];
//}Stu;//这是更改之后的结构体类型名
//int main()
//{
//	//利用类型,创建变量
//	//struct Stu a1;//这个s和上边的s1,s2,s3都一样,只不过这是局部变量
//	//Stu a2;//这是更改结构类型名之后创建的
//	//结构体初始化
//	Stu a1 = { "张三",20,18249287076,"男" };//结构体放元素用大括号初始化
//	struct Stu a2 = { "旺财",30,1559668862,"保密" };
//	return 0;
//}

//结构体成员的访问
//结构体变量访问成员,结构体变量的成员是通过点操作符( . )访问的。点操作符接受两个操作数  —>也可以访问
//struct S
//{
//	int a;
//	char c;
//	char arr[20];
//	double d;
//};
//struct T
//{
//	char ch[10];
//	struct S s;
//	char* pc;
//};
//int main()
//{
//	char arr[] = "hello bit\n";
//	struct T t = { "hehe",{100,'w',"hello world",3.14},arr };
//	printf("%s\n", t.ch); //hehe 
//	printf("%s\n", t.s.arr);//结构体中访问结构体 hello world
//	printf("%lf\n", t.s.d);//结构体中访问结构体 3.140000
//	printf("%s\n", t.pc);//结构体中访问结构体 hello bit
//	return 0;
//}

//结构体传参
//typedef struct Stu//重命名结构体类型
//{
//	//成员变量
//	char name[20];
//	short age;
//	char tele[12];
//	char sex[5];
//}Stu;//这是更改之后的结构体类型名
//void Print1(Stu tmp)
//{
//	printf("name: %s\n", tmp.name);
//	printf("age: %d\n", tmp.age);
//	printf("tele: %s\n", tmp.tele);
//	printf("sex: %s\n", tmp.sex);
//}
//void Print2(Stu* ps)//通过指针访问结构体成员
//{
//	printf("name: %s\n", ps->name);
//	printf("age: %d\n", ps->age);
//	printf("tele: %s\n", ps->tele);
//	printf("sex: %s\n", ps->sex);
//}
//int main()
//{
//	Stu s = { "张三",40,"1559886688","男"};
//	//打印结构体函数
//	Print1(s);
//	printf("\n");
//	Print2(&s);
//	return 0;
//}
//注意:结构体传参的时候,建议传结构体的地址
//因为不需要开辟新的空间,提高代码执行性能

以上代码均在vs2022环境下编译

猜你喜欢

转载自blog.csdn.net/qq_72935001/article/details/126202509