博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言入门经典读书笔记----第十一章 结构化数据
阅读量:7036 次
发布时间:2019-06-28

本文共 1229 字,大约阅读时间需要 4 分钟。

数据结构:使用struct

关键字struct能定义各种类型的变量集合,称为结构,并把它们视为一个单元。例如

struct Horse{    int age;    int height;} silver;复制代码

这个例子声明了一个结构类型Horse。Horse不是变量名,而是一个新的类型。

Horse结构内的变量名称age和height称为成员或字段。
silver是这个Horse结构的一个实例变量,只要使用变量名称silver,它都包含两个结构成员:age和height。

下面定义一个稍微复杂点的Horse结构:

struct Horse{    int age;    int height;    char name[20];    char father[20];    char mother[20];} dobbin = {    24,17,"Dobbin","Trigger","Flossie"}复制代码

通常可以使用sizeof来计算出结构占用的内存量。

定义结构类型和结构变量

struct Horse{    int age;    int height;    char name[20];    char father[20];    char mother[20];};struct Horse dobbin={    24,17,"Dobbin","Trigger","Flossie"}复制代码

定义存储结构的新变量时,需要struct关键字,但是没有这个关键字代码看起来更简洁,使用typedef定义,声明变量时就可以删除struct关键字,例如:

typedef struct Horse Horse;复制代码

这个语句把Horse定义为struct Horse,如果把这个定义放在源文件的开头,就可以定义Horse类型的变量:

Horse trigger = {    30,15,"Trigger","Smith","Wesson"}复制代码

要引用结构成员,应该在结构变量名称的后面加上一个句点,再加上成员变量名称。

dobbin.age=12;

结构变量名称和成员名称之间的点号称为成员选择运算符。

声明结构中的结构

可以在Horse结构定义中声明Date结构,如下

struct Horse{    struct Date{        int day;        int month;        int year;    } dob;    int height;    char name[20];    char father[20];    char mother[20];}复制代码

这个声明将Date结构声明放在Horse结构的定义内,因此不能再Horse结构的外部声明Date变量。 如果单独定义Date的结构变量,编译器就会报错。

struct Date my_date;

转载地址:http://oryal.baihongyu.com/

你可能感兴趣的文章
Zend Studio使用教程之在Linux上进行安装
查看>>
linux下上传本地文件至github
查看>>
Android VelocityTracker
查看>>
oracle 修改表名几种方法
查看>>
deepin15.4配置nginx时出现主页展现,其他全部找不到的问题
查看>>
python基础一:之字符串
查看>>
用emacs进行批量查找替换的例子
查看>>
开源 免费 java CMS - FreeCMS-数据对象-link
查看>>
JVM与字节码—类的方法区模型
查看>>
java中的getParentFile
查看>>
Linux下软链接与硬链接的区别
查看>>
git 基本操作指令
查看>>
linux21-磁盘阵列
查看>>
构造函数和析构函数
查看>>
Zabbix自定义交换机接口名称
查看>>
linux 命令 —— find
查看>>
在线建立或重做mysql主从复制架构方法(传统模式和GTID模式)
查看>>
centos 6.5 下安装配置GO 1.2.1
查看>>
Hudson持续集成工具安装配置指南
查看>>
Setting Up Tez Ui
查看>>