C及C++中typedef的简单使用指南
2018-06-17 23:41:35来源:未知 阅读 ()
又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++用到的课本,又问了度娘,也看了不少关于typedef用法的博客。于是我就想把我理解的东西整理下来。
一.基本解释
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。
二.用法
(1)用typedef声明一个新类型名来代替已有的类型名。如:
typedef int Status //指定标识符Status代表int类型 typedef double DATE //指定标识符DATE代表double类型
这样下面代码等价:
int i; double j; Status i;DATE j;
(2)用typedef对数组类型起新名:
typedef int NUM[100];//声明NUM为整数数组类型,可以包含100个元素 NUM n;//定义n为包含100个整数元素的数组,n就是数组名
(3)对一个结构体类型声明一个新名字:
typedef struct //在struct之前用了关键字typedef,表示是声明新类型名 { int month; int day; int year; } TIME; //TIME是新类型名,但不是新类型,也不是结构体变量名
新声明的新类型名TIME代表上面指定的一个结构体类型,这样就可以用TIME定义该结构体变量,如:
TIME birthday; TIME *P //p是指向该结构体类型数据的指针
三.注意点
(1)用typedef只是对已经存在的类型增加一个类型名,而没有创造一个新的类型。只是增加了一个新名字,可以用该名字定义变量,比如使用上文中的Status定义变量i;则i变量的类型为int型。
(2)可以用typedef声明新类型名。但是不能用来定义变量
四.优点
使用typedef类型名,有利于程序的移植性。有时程序会依赖硬件特性。比如在某个C++系统用2个字节存一个int类型变量,用4个字节存一个long类型变量。而在另一个C++系统中以4个字节存放int类型变量。则把一个C++程序从一个用2个字节存一个int类型变量的C++系统移植到以4个字节存放int类型变量的C++系统时,如果原来用typedef声明int类型,则例如:
Typedef int INTEGER ; //原来这样写 Typedef long INTEGER ; //移植后可以改为这样
如果不是用typedef声明的,那每一处定义int类型的地方都要改,程序越大,工作量越大。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 转换函数搭配友元函数 2020-06-10
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ 运算符重载 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash