C语言中的结构体定义和使用例子
C语言中的结构体定义和使用例子
一、结构体定义的三种方式
结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对
问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分
别介绍如下:
- 先定义结构体类型,再定义结构体类型变量:
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语言中的结构体定义和使用例子相关推荐
- c语言中的结构体定义和常见用法
1.结构体简述和概念 结构体是C语言中一种重要的数据类型,该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型.结构体通常用来表示类型不同但是又相关的若干数据 ...
- C语言中的结构体,结构体中数组初始化与赋值
最近写c语言中的结构体遇到了些问题,从网上找了些资料如下: 结构体是连续存储的,但由于结构体中成员类型各异,所以会存在内存对齐问题,也就是内存里面会有空档,具体的对齐方式这里 暂不讨论: 1.结构体的 ...
- Linux结构体变量报错,C语言中的结构体
用户自己建立自己的结构体类型 1. 定义和使用结构体变量 (1).结构体的定义 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体. (2).声明一个结构体类型的一般形式为: ...
- C语言中对结构体排序
在C语言中对结构体排序 用qsort()函数进行排序, qsort()里面要传入4个参数–qsort(数组名,数组长度,sizeof(),排序方法) 实验9-5 查找书籍 (20分) 给定n本书的名称 ...
- 关于C语言中的结构体所占的字节数 sizeof(struct)
C语言中的结构体所占的字节数 ,用sizeof求一个结构体的大小 C语言中用sizeof求结构体所占字节数的详细方法. 一.非嵌套结构体 struct one{char a; // 1(char所占字 ...
- 成员变量隐藏c语言,C语言中隐藏结构体的细节
我们都知道,在C语言中,结构体中的字段都是可以访问的.或者说,在C++ 中,类和结构体的主要区别就是类中成员变量默认为private,而结构体中默认为public.结构体的这一个特性,导致结构体中封装 ...
- C语言中的结构体怎么使用?
文章目录 前言 一.结构体是什么? 二.结构体怎么定义? 三.结构体变量怎么初始化? 四.结构体变量怎么访问? 五.结构体怎么使用? 总结 前言 结构体在C语言和C++语言中都是重要的概念,它们广泛应 ...
- step2 . day5 C语言中的结构体和枚举
最近几天交叉的学习C和Linux,知识梳理的不是很仔细,有很多还没有搞明白的问题,所有耽误了几天更新笔记,也是在细嚼慢咽中,做了一个规划表,现阶段先把C后面的知识学好,然后再梳理Linux系统相关知识 ...
- C/C++中struct结构体定义变量的3种方法及初始化
本博客整理自http://blog.csdn.net/zunfo/article/details/51494631 1.struct结构体定义 1.1.先定义结构体,然后再定义结构体变量 struct ...
最新文章
- mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法
- javascript DOM 编程艺术 札记2 平稳退化
- SSM-SpringMVC-07:SpringMVC中处理器映射器
- IDE日志分析方法pt。 2
- 为什么虚拟机上一运行就显示程序停止_五分钟学Java:如何学习Java面试必考的JVM虚拟机...
- VC++2012编程演练数据结构《12》二叉排序树
- php几个问题的记录
- Hidden (NOIP模拟赛)(字符串模拟QAQ)
- 2059 - Authentication plugin ‘caching sha2 password‘ cannot be loaded:
- SpringBoot2 Spring Cloud consul 分布式配置中心使用教程
- 2022年江西省研究生数学建模竞赛冰壶运动求解全过程文档及程序
- 中标麒麟安装mysql教程_中标麒麟操作系统安装MySQL5.7.22的步骤教程
- 在线查看Android源码
- 使用ToUpperInvariant避免使用ToUpper
- office2016、office365和office其它版本JH
- .NET开发资料 dotnet 学习的站点
- 垃圾分类,全民行动PPT模板
- 【Linux】Linux发行版本的简介与选择
- java 套娃_论“套娃”
- oracle timestamp 设置默认值,oracle的timestamp类型使用 毫秒
热门文章
- 2月20日,依旧咸鱼的一天。
- 帝国cms后台登陆显示Cann‘t connect to DB 解决方法
- opencv对光流法的实现(python3)
- cmd打开nmap_诸神之眼:Nmap端口扫描工具使用小手册——学生会私房菜【20190524期】...
- JAVA-什么是 Java?
- 中英文颜色对照表(css)
- java简单单向链表_【新手自白书】简单单项链表的实现(JAVA)
- 登录界面输入密码键盘不响应_为什么计算机响应错误的密码和正确的密码需要更长的时间?...
- 小米Note3安装Magisk记录
- struct linger 用法