c语言sscanf函数的用法是什么
403
2022-12-01
C语言结构体(struct)类型的各种用法
文章目录
一、基本概念
在C语言中,可以定义结构体类型,将多个相关的类型的变量包装成为一个整体使用。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。在C语言中,结构体不能包含函数。
1、标准定义方式
3、无类型名的结构体(此法最差,只能用一次)
#include
4、用typedef给自定义的结构体加一个名字(typedef 已有类型 新类型名)
三、访问结构体成员
struct student{ char name[10]; //相当于一个字符串,即char型数组 int num; //int型数据,编号 int age; //年龄 float score[3]; //3门课的分数 char sex; //性别} stu;
在这个结构体中,如果要访问第二门课的分数,则需要这样访问:
//输入:scanf("%f", &stu.score[1]); //取的是第二门课成绩的地址//输出:printf("%f", stu.score[1]) //输出的是第二门课成绩
struct student{ char name[10]; //相当于一个字符串,即char型数组 int num; //int型数据,编号 int age; //年龄 float score[3][2]; //3门课的分数,都有两次测验 char sex; //性别} stu;
//输入:scanf("%f", &stu.score[1][1]); //取的是第二门课第二次测验成绩的地址//输出:printf("%f", stu.score[1][1]) //输出的是第二门课第二次测验的成绩
3、其他更高维数组的用法都是一样的道理,以此类推。
四、结构体数组
struct student{ char name[10]; //相当于一个字符串,即char型数组 int num; //int型数据,编号 int age; //年龄 float score[3][2]; //3门课的分数,都有两次测验 char sex; //性别} stu[3];
这里的stu就是一个结构体数组,包含了3个student类型的结构体变量。 接下来我们试着访问第3个结构体变量的第1门课第2次测验的成绩:
//输入:scanf("%f", &stu[2].score[0][1]); //取的是第三个结构体变量第一门课第二次测验成绩的地址//输出:printf("%f", stu[2].score[0][1]) //输出的是第三个结构体变量第一门课第二次测验的成绩
五、结构体的嵌套
struct student{ int num; //int型数据,编号 int age; //年龄 char sex; //性别 struct GoodStudent { char name[10]; //相当于一个字符串,即char型数组 float score[3][2]; //3门课的分数,都有两次测验 }} stu[3];
此时要访问结构体GoodStudent好学生中的成绩,仍然是用“ . ”成员访问符来访问。
比如要访问第2个结构体变量的好学生的第2门课第1次测验的成绩:
//输入:scanf("%f", &stu[1].GoodStudent.score[1][0]); //取的是第2个结构体变量的好学生的第2门课第1次测验的成绩的地址//输出:printf("%f", stu[1].GoodStudent.score[1][0]) //输出的是第2个结构体变量的好学生的第2门课第1次测验的成绩成绩
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~