结构体

结构体是一种构造数据类型
(构造数据类型包括:数组类型、结构体类型、共用体类型)
定义:把不同的数据组合成一个整体。

结构体的一般形式
struct [结构体名称]//struct是关键字
{类型标识符   成员名;//成员类型可以是基本型或构造性类型标识符   成员名;……
};//不要忘记这里的分号
定义结构体的三种方法
//第一种:先定义结构体类型,在定义变量名
struct student
{int num;char name[20];char sex;int age;float score;
};
struct student stu1,stu2;
//第二种:定义结构体类型同时定义结构体类型变量
struct student{ int num;char  name[20];char sex;int age;float score;char addr[30];}stu1,stu2;
//第三种:直接定义结构体类型变量
struct { int num;char  name[20];char sex;int age;float score;char addr[30];}stu1,stu2;
结构体类型和结构体变量的区别

类型:不分配内存; 变量:分配内存
类型:不能赋值、存取、运算; 变量:可以
结构体可嵌套 结构体成员名与程序中变量名可相同,不会混淆

结构体嵌套
//结构体嵌套
struct  date{    int month;int day;int year;};struct  student{   int  num;char name[20];struct  date  birthday;}stu;

结构体排序

结构体排序是将不同类型的数据通过一定的原则进行排序,比如:
成绩单将成绩从大到小排序,输出名字的排名。
代码如下:

//结构体排序
#include<stdio.h>
#include<algorithm>
using namespace std;//引入sort函数
struct student
{int a;char *name;
}stu1,stu2;  //自定义一个结构体
bool mycmp(student stu1,student stu2){if(stu1.a>stu2.a) return true;else return false;
}//自定义一个比较函数,通过ture和false来返回大小关系
int main()
{student arr[3];arr[0].a=100;arr[0].name="liming";arr[1].a=95;arr[1].name="zhanghong";arr[2].a=88;arr[2].name="wangmei";sort(arr,arr+3,mycmp);for(int i=0;i<3;++i){printf("%s %d\n",arr[i].name,arr[i].a);}return 0;
}

C语言结构体和结构体排序相关推荐

  1. C语言博客作业--结构体

    一.PTA实验作业 题目1:6-4 结构体数组按总分排序 1. 本题PTA提交列表 2. 设计思路 定义cala函数,定义ifor i=0 to n 遍历数组计算每一个学生的三门课成绩的和,存放在su ...

  2. c语言结构体教案,结构体——教学设计

    <结构体--教学设计>由会员分享,可在线阅读,更多相关<结构体--教学设计(7页珍藏版)>请在人人文库网上搜索. 1.课堂教学设计表章节名称结构体学科C语言程序设计授课班级大一 ...

  3. C语言学生管理系统(结构体数组)

    简介 简单的学生管理系统,使用C语言编写. 功能 拥有增.删.改.查.打印.文件读写.搜索以及排序功能. 环境 推荐使用VS2015或以上版本(支持C11或以上)的编译器运行代码. 结构 数据结构为结 ...

  4. Go 语言编程 — 高级数据类型 — 结构体

    目录 文章目录 目录 结构体 访问结构体成员 向函数传递结构体 结构体指针 结构体标签(Struct Tag) 结构体 Golang 中,结构体是由一系列具有相同类型或不同类型的数据构成的数据集合.与 ...

  5. C 语言编程 — 高级数据类型 — 结构体与位域

    目录 文章目录 目录 前文列表 结构体 定义结构体 初始化结构体变量 访问结构体成员 结构体的内存分布 将结构体作为实参传入函数 指向结构体变量的指针 位域 定义位域 使用位域结构体的成员 前文列表 ...

  6. Android JNI编程(六)——C语言函数指针、Unition联合体、枚举、Typedef别名、结构体、结构体指针...

    版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 一:函数指针 1.函数指针顾名思义就是定义一个指针变量指向一个函数,和一级指 ...

  7. OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)...

    OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...

  8. C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题?

    C语言定义了一个结构体怎么分配内存?C\C++中结构体变量与结构体指针内存分配问题? 问题1:结构体指针最开始怎么分配内存?用sizeof()是不能确定大小的. 问题2:给结构体变量分配之后,是否还要 ...

  9. C语言结构体和结构体数组示例 - Win32窗口程序演示

    C语言结构体和结构体数组的使用: /* C结构体和结构体数组示例,by bobo */#include <windows.h>LRESULT CALLBACK WndProc (HWND, ...

最新文章

  1. .htaccess的重写规则
  2. 如何获得Oracle系统性能统计? Oracle大型数据库系统在AIXUNIX上的实战详解 集中讨论 14...
  3. pandas使用nsmallest函数返回特定数据列中前N个最小值(搜寻最小的n个元素)、pandas使用nsmallest函数返回特定数据列中前N个最小值所对应的数据行
  4. IDEA2021快捷键windows
  5. 对比let、const、var的异同
  6. PHP 文件上传类 FileUpload 高洛峰老师 细说PHP
  7. python代码直接关机_python实现电脑自动关机
  8. spark 应用程序性能优化:12 个优化方法
  9. java中volatile的使用方式
  10. linux内核分析——扒开系统调用的三层皮(上)
  11. 机器阅读理解首次超越人类!云从刷新自然语言处理新纪录
  12. win10 linux装软件有哪些,win10若何装linux,win10安装linux双系统的详细教程,微商必备软件有哪些...
  13. jQuery.理解选取更新范围
  14. hdu 5094 Maze bfs
  15. exls下载后显示jsp_jsp利用POI直接生成Excel并在页面提示打开下载
  16. Executesql 实例及介绍
  17. CleanMyMac X下载Mac系统清理优化工具
  18. Rsyslog Properties and the Property Replacer
  19. 跟小白学python网络爬虫实例2
  20. 常用web服务器:状态监控status页面

热门文章

  1. ReLU函数代码实现
  2. Python集合用处
  3. 莫比乌斯函数(数论)(转载+原创)
  4. UG12.0数控加工选择边界,成链选项操作步骤
  5. oracle中的循环函数,Oracle日期函数和循环总结
  6. windows10平板电脑能做php吗,win10 pro是什么版本
  7. mysql经典案例练习
  8. Live my life
  9. Bresenham算法详解
  10. Java输出数组最小值的几种方法