C语言(7)------使用typedef自定义数据类型
来源:互联网 发布:百度网盘搜索源码 编辑:程序博客网 时间:2024/05/18 00:00
一 typedef自定义数据类型
typedef的作用是为数据类型起一个新名字。由3个部分组成,分别为关键字typedef,原数据类型,新数据类型。
标准格式如下:
typedef 原数据类型 新数据类型
一旦定义,其之后的程序中可以使用newType替换掉oldType。
eg:
#include "stdio.h"int main(void) {/* typedef 原数据类型 新数据类型*/typedef char myChar;/* 给字符类型起一个别名 */myChar c1 = 'c';/* 使用自定义的数据类型(新数据类型)*/printf("c1 = %c\n", c1);/* printf输出函数输出 */ return 0;}运行结果:
以上语句的含义是给char取一个别名myChar,之后使用myChar代替char定义字符变量c1,c1就是字符类型。
对于数据类型的别名定义typedef可以再次定义,也是说对别名再去别名。
eg:
#include "stdio.h"int main(void) {/* typedef 原数据类型 新数据类型*/typedef char myChar1;/* 给字符类型起一个别名myChar1 */typedef myChar1 myChar2;/* 给别名再起一个别名myChar2 */myChar2 c2 = 'c';/* 使用自定义的数据类型(新数据类型)*/printf("c2 = %c\n", c2);/* printf输出函数输出 */ return 0;}运行结果:
第一个别名为myChar1, 第二个别名为myChar2,程序中可以使用myChar1 或 myChar2替换掉char。
二 typedef用途分析
2.1 简化复杂的类型声明
可以使用typedef将一个长长的变量名用一个简短的变量名表示。
例如, typedef unsigned long int LIU_t;
2.2 提高维护性和移植性
针对数据类型发生变化的情况,使用别名声明数据类型是最佳选择。
eg:
比如,一个学生的成绩,一开始或许都用整数表示,而后来要求有小数,我们需要满篇改类型。
#include "stdio.h"int main(void) {/* 定义4个整型变量,都是同一类型*/int math;int engl;int english;int score_emp;/* 如果哪一天让你将这四个变量变成浮点型,我们只能一个一个修改*/float math;float engl;float english;int score_emp; return 0;}在上面程序中,修改前为int, 修改后为float,需要都修改,如果我们换成别名表示,能够减轻维护的工作量。
eg:
#include "stdio.h"int main(void) {typedef int score_t;/* 使用别名类型定义4个整型变量,都是同一类型*/score_t math;score_t engl;score_t english;score_t score_emp; return 0;}采用这种程序设计方式,使用别名定义数据类型,一旦需要把int修改为float,我们只需要在
自定义数据类型的地方修改为float即可,不用像第一种方法,需要每个都去指定数据类型。
2.3 数据类型集的定义
常见数据类型集:
#include "stdio.h"int main(void) {typedef char int8_t; typedef short int16_t;typedef int int32_t;typedef long long int64_t;typedef unsigned char uInt8_t;typedef unsigned short uInt16_t;typde undigned short uInt16_t; return 0;}
关于typedef的总结:
(1)typedef给数据类型起别名,可以一次或多次定义别名。
(2)常用于简化复杂类型,提高可维护性和可一移植性。
0 0
- C语言(7)------使用typedef自定义数据类型
- C语言typedef自定义数据类型
- C语言typedef自定义
- c语言-自定义数据类型
- C语言 typedef的使用
- C语言typedef使用小结
- 黑马程序员——c语言复杂数据类型:结构体和枚举,typedef的使用
- 自定义数据类型,关键字typedef
- C语言的typedef使用(46)
- C语言中的typedef关键字的使用
- C语言学习大纲--typedef的使用
- C语言之typedef的使用
- 黑马程序员---C语言typedef的使用
- c语言中typedef的使用
- C语言-关键字typedef的使用
- C语言关键字之typedef的使用
- 15、C语言用户自定义数据类型
- [错误记录]C语言自定义类型typedef应用
- 顺序栈的基本操作
- SharedPreferences.Editor(示例,出错代码)
- Android之浅析回调
- 24. Swap Nodes in Pairs
- android_AsyncTask的源码解析
- C语言(7)------使用typedef自定义数据类型
- 初接触计算机图形学看到的一些有趣的英文
- JAVA基础.JAVA基础语法
- 部分语言的数组方式
- 21. Merge Two Sorted Lists
- php自定义函数call_user_func和call_user_func_array详解
- 关于Scroller的使用以及自己实现一个侧滑菜单
- HDU 1008
- MySql数据库表数据合并同步