struct与typedef 结构体定义
结构体的基本定义方法有三种:
struct 结构体名 变量名;
struct 结构体名 变量名 = { 成员1值, 成员2值... };
定义结构体时顺便创建变量;
这三种的具体代码如下:
/* ------------------ 1.struct 结构体名 变量名; 之后进行赋值操作 ------------------ */
struct Student
{// 成员列表string name; // 姓名int age; // 年龄int score; // 分数
};int main() {//struct Student xiaoMing;Student xiaoMing; // struct关键字可以省略xiaoMing.name = "小明";xiaoMing.age = 18;xiaoMing.score = 96;xiaoMing = { "小明", 18, 96 };cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;system("pause");return 0;
}/* -------------- 2.struct 结构体名 变量名 = { 成员1值, 成员2值... }; -------------- */
struct Student
{// 成员列表string name; // 姓名int age; // 年龄int score; // 分数
};int main() {Student xiaoMing = {"小明", 18, 96};cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;system("pause");return 0;
}/* -------------------- 3.定义结构体时顺便创建变量; -------------------- */
struct Student
{// 成员列表string name; // 姓名int age; // 年龄int score; // 分数
}xiaoMing;int main() {xiaoMing.name = "小明";xiaoMing.age = 18;xiaoMing.score = 96;xiaoMing = { "小明", 18, 96 };cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;system("pause");return 0;
}
-----------------------------------------------------------------------------------
姓名:小明 年龄:18 分数:96
请按任意键继续. . .
其中,第三种方式 - 3.定义结构体时顺便创建变量;,在创建单个结构体时较为方便。
而创建多个结构体时,显得倒不如以上两种来的直观。
于是使用第3种方法创建多个结构体时,通常会使用上 typedef。
使用 typedef 定义 struct 结构体:
typedef struct Student
{// 成员列表string name; // 姓名int age; // 年龄int score; // 分数
}Stu;
// 这里相当于使用 typedef,将整个结构体起了个叫为 Stu 的别名。int main() {Stu xiaoMing, xiaoHong, xiaoLiang;xiaoMing = { "小明", 18, 96 };xiaoHong = { "小红", 20, 100 };xiaoLiang = { "小亮", 21, 98 };cout << "姓名:" << xiaoMing.name << " 年龄:" << xiaoMing.age << " 分数:" << xiaoMing.score << endl;cout << "姓名:" << xiaoHong.name << " 年龄:" << xiaoHong.age << " 分数:" << xiaoHong.score << endl;cout << "姓名:" << xiaoLiang.name << " 年龄:" << xiaoLiang.age << " 分数:" << xiaoLiang.score << endl;system("pause");return 0;
}
--------------------------------------------------------------------------------------
姓名:小明 年龄:18 分数:96
姓名:小红 年龄:20 分数:100
姓名:小亮 年龄:21 分数:98
请按任意键继续. . .
在上面代码中,相当于使用 typedef,将整个 Student结构体起了个叫为 Stu 的别名,方便书写与记忆。
而实例化时,本质还是使用的第三种定义方式 - 3.定义结构体时顺便创建变量;
typedef struct Student
{
// 成员列表
string name; // 姓名
int age; // 年龄
int score; // 分数
}Stu;
Stu xiaoMing, xiaoHong, xiaoLiang;
struct与typedef 结构体定义相关推荐
- c语言结构体定义和使用typedef,结构体定义typedef struct 用法详解
typedef是类型定义的意思,typedef struct是为了使用这个结构体方便. 在了解typedef之前我们先来了解一下什么是结构体类型: C++提供了许多种基本的数据类型(如int.floa ...
- c语言用typedef定义结构体,C语言结构体定义 typedef struct
c语言规范,定义结构体: typedef struct ANSWER_HEADER { u8 u8Type; u8 u8Code; u32 u32TimeStamp; struct ANSWER_HE ...
- 结构体定义 typedef struct 用法详解和用法小结
typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便. 具体区别在于: 若struct node{ }这样来定义结构体的话.在定义 node 的结构体变量时,需要这 ...
- 【C语言】结构体定义 typedef struct 用法详解和用法小结
结构体定义 typedef struct 用法详解和用法小结 文章目录 结构体定义 typedef struct 用法详解和用法小结 0. 前言 1. 首先:在C中定义一个结构体类型要用typedef ...
- C/C++中struct结构体定义变量的3种方法及初始化
本博客整理自http://blog.csdn.net/zunfo/article/details/51494631 1.struct结构体定义 1.1.先定义结构体,然后再定义结构体变量 struct ...
- c语言结构体定义蚂蚁,C语言结构体(struct)常见使用方法
C语言结构体(struct)常见使用方法 C语言结构体(struct)常见使用方法 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合) ...
- C++ 线性表的结构体定义(顺序表和链式表)
线性表的结构体定义: 1.顺序表的结构体定义 typedef struct {int data[maxSize];int length;} Sqlist; 2.单链表结点的结构体定义 typedef ...
- RadarApp结构体定义
消息结构体定义及说明 数据类型 一.帧类型定义 1.1 控制帧 1.1.1 控制帧帧头定义 1.1.2 控制帧类型(ucDataType) 1.2 数据帧类型 1.2.1 数据帧帧头定义 1.2.2 ...
- C语言之玩转结构体1——结构体定义与声明
文章目录 一.前言 二.名词解释 三.结构体声明 四.结构体定义及初始化 五.运行 六.结语 一.前言 结构体作为C语言中的重要一环,可以用它来对数据进行封装,把一些相似的成员放在同一个结构体中,其对 ...
最新文章
- mongo 脚本对应的C#实现方式(待整理)
- BZOJ 1874: [BeiJing2009 WinterCamp]取石子游戏(SG函数)
- Ardino基础教程 13_温度传感器
- 由歌词引发的模式思考之下篇(模拟Spring的BeanFactory)
- 使用WebRTC开发Android Messenger:第3部分
- Flink SQL CDC 上线!我们总结了 13 条生产实践经验
- Eclipse里不能调试J2ME程序的解决办法
- 【webpack系列】从零搭建 webpack4+react 脚手架(四)
- autowired注入jar中的依赖_springboot项目中调用jar包中的类时报错 — 没有注入类
- example 排序_个性化推荐系统源代码之基于 WideDeep模型的在线排序
- B. 基本概念:类和对象
- 【机器学习-西瓜书】四、决策树:信息熵;信息增益;增益率;ID3;C4.5
- OPPO 推出 10 亿引力计划,全力构建智能化服务生态
- 车牌识别LPR(八)-- 字符识别
- vs+qt 人脸识别GUI
- 2021年信息系统监理师考试大纲
- 三人表决器逻辑表达式与非_正则表达式 - 驰念
- html5 跨平台播放器,开源ckplayer 网页播放器, 跨平台(html5, mobile),flv, f4v, mp4, rt...
- 三面字节跳动被虐得“体无完肤”,15天读完这份pdf,终拿下美团研发岗offer
- int型整数的最小值和最大值是多少(精确值)
热门文章
- [Lintcode]102. Linked List Cycle/[Leetcode]
- 设计模式:单例模式7种写法
- Android日期格式化
- 饭团(0):提升效率的开发工具
- JFreeChart画折线图
- [POJ1469 COURSES]
- 【ElasticSearch 学习笔记】Java API
- 520晚上,我用python破解了前女友的加密文件,结果却发现。。。
- Linux下服务器搭建(2)——linux搭建svn服务器详细过程 及 使用TortoiseSVN客户端连接服务器
- python进阶16多继承与Mixin