学习小结
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环境下编译