C语言中的结构体定义和使用例子

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

结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对
问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分
别介绍如下:

  1. 先定义结构体类型,再定义结构体类型变量:
struct stu / *定义学生结构体类型* /
{char name[20]; / * 学生姓名* /
char sex; / * 性别* /
long num; / *学号* /
float score[3]; / * 三科考试成绩* /
};
struct stu student1,student2; / * 定义结构体类型变量* /
struct stu student3,student4;

用此结构体类型,可以定义更多的该结构体类型变量。
2 ) 定义结构体类型同时定义结构体类型变量:

struct data
{int day;
int month;
int year;
} time1,time2;

也可以再定义如下变量:

struct data time3,time4;

用此结构体类型,同样可以定义更多的该结构体类型变量。
3) 直接定义结构体类型变量:

struct
{char name[20]; / *学生姓名* /
char sex; / *性别* /
long num; / *学号* /
float score[3]; / *三科考试成绩* /
} person1,person2; / *定义该结构体类型变量* /

这个第三种定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。


二.结构体赋值举例
1)程序

#include <stdio.h>
struct student
{int ID;char name;
};int main()
{struct student stu1 = {10, 'z'};struct student stu2 ={11,'w'};struct student stu3 ={12,'l'};struct student stu4 ={13,'h'};printf("stu1.ID=%d  stu1.name=%c\n", stu1.ID, stu1.name);printf("stu2.ID=%d  stu2.name=%c\n", stu2.ID, stu2.name);printf("stu3.ID=%d  stu3.name=%c\n", stu3.ID, stu3.name);printf("stu4.ID=%d  stu4.name=%c\n", stu4.ID, stu4.name);return 0;
}

2)运行结果:

三.结构体指针

四.结构体数组


C语言中的结构体定义和使用例子相关推荐

  1. c语言中的结构体定义和常见用法

    1.结构体简述和概念 结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型.结构体通常用来表示类型不同但是又相关的若干数据 ...

  2. C语言中的结构体,结构体中数组初始化与赋值

    最近写c语言中的结构体遇到了些问题,从网上找了些资料如下: 结构体是连续存储的,但由于结构体中成员类型各异,所以会存在内存对齐问题,也就是内存里面会有空档,具体的对齐方式这里 暂不讨论: 1.结构体的 ...

  3. Linux结构体变量报错,C语言中的结构体

    用户自己建立自己的结构体类型 1.  定义和使用结构体变量 (1).结构体的定义 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体. (2).声明一个结构体类型的一般形式为: ...

  4. C语言中对结构体排序

    在C语言中对结构体排序 用qsort()函数进行排序, qsort()里面要传入4个参数–qsort(数组名,数组长度,sizeof(),排序方法) 实验9-5 查找书籍 (20分) 给定n本书的名称 ...

  5. 关于C语言中的结构体所占的字节数 sizeof(struct)

    C语言中的结构体所占的字节数 ,用sizeof求一个结构体的大小 C语言中用sizeof求结构体所占字节数的详细方法. 一.非嵌套结构体 struct one{char a; // 1(char所占字 ...

  6. 成员变量隐藏c语言,C语言中隐藏结构体的细节

    我们都知道,在C语言中,结构体中的字段都是可以访问的.或者说,在C++ 中,类和结构体的主要区别就是类中成员变量默认为private,而结构体中默认为public.结构体的这一个特性,导致结构体中封装 ...

  7. C语言中的结构体怎么使用?

    文章目录 前言 一.结构体是什么? 二.结构体怎么定义? 三.结构体变量怎么初始化? 四.结构体变量怎么访问? 五.结构体怎么使用? 总结 前言 结构体在C语言和C++语言中都是重要的概念,它们广泛应 ...

  8. step2 . day5 C语言中的结构体和枚举

    最近几天交叉的学习C和Linux,知识梳理的不是很仔细,有很多还没有搞明白的问题,所有耽误了几天更新笔记,也是在细嚼慢咽中,做了一个规划表,现阶段先把C后面的知识学好,然后再梳理Linux系统相关知识 ...

  9. C/C++中struct结构体定义变量的3种方法及初始化

    本博客整理自http://blog.csdn.net/zunfo/article/details/51494631 1.struct结构体定义 1.1.先定义结构体,然后再定义结构体变量 struct ...

最新文章

  1. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法
  2. javascript DOM 编程艺术 札记2 平稳退化
  3. SSM-SpringMVC-07:SpringMVC中处理器映射器
  4. IDE日志分析方法pt。 2
  5. 为什么虚拟机上一运行就显示程序停止_五分钟学Java:如何学习Java面试必考的JVM虚拟机...
  6. VC++2012编程演练数据结构《12》二叉排序树
  7. php几个问题的记录
  8. Hidden (NOIP模拟赛)(字符串模拟QAQ)
  9. 2059 - Authentication plugin ‘caching sha2 password‘ cannot be loaded:
  10. SpringBoot2 Spring Cloud consul 分布式配置中心使用教程
  11. 2022年江西省研究生数学建模竞赛冰壶运动求解全过程文档及程序
  12. 中标麒麟安装mysql教程_中标麒麟操作系统安装MySQL5.7.22的步骤教程
  13. 在线查看Android源码
  14. 使用ToUpperInvariant避免使用ToUpper
  15. office2016、office365和office其它版本JH
  16. .NET开发资料 dotnet 学习的站点
  17. 垃圾分类,全民行动PPT模板
  18. 【Linux】Linux发行版本的简介与选择
  19. java 套娃_论“套娃”
  20. oracle timestamp 设置默认值,oracle的timestamp类型使用 毫秒

热门文章

  1. 2月20日,依旧咸鱼的一天。
  2. 帝国cms后台登陆显示Cann‘t connect to DB 解决方法
  3. opencv对光流法的实现(python3)
  4. cmd打开nmap_诸神之眼:Nmap端口扫描工具使用小手册——学生会私房菜【20190524期】...
  5. JAVA-什么是 Java?
  6. 中英文颜色对照表(css)
  7. java简单单向链表_【新手自白书】简单单项链表的实现(JAVA)
  8. 登录界面输入密码键盘不响应_为什么计算机响应错误的密码和正确的密码需要更长的时间?...
  9. 小米Note3安装Magisk记录
  10. struct linger 用法