gpt4 book ai didi

C及C++中typedef的简单使用介绍

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C及C++中typedef的简单使用介绍由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性.

在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明.

又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++用到的课本,又问了度娘,也看了不少关于typedef用法的博客。于是我就想把我理解的东西整理下来.

一.基本解释 。

  typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等).

  在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明.

二.用法 。

(1)用typedef声明一个新类型名来代替已有的类型名。如:

?
1
2
typedef int Status //指定标识符Status代表int类型
typedef double DATE //指定标识符DATE代表double类型

这样下面代码等价:

?
1
2
int i; double j;
Status i;DATE j;

(2)用typedef对数组类型起新名:

?
1
2
typedef int NUM[100]; //声明NUM为整数数组类型,可以包含100个元素
NUM n; //定义n为包含100个整数元素的数组,n就是数组名

(3)对一个结构体类型声明一个新名字:

?
1
2
3
4
5
6
typedef struct //在struct之前用了关键字typedef,表示是声明新类型名
{
int month;
int day;
int year;
} TIME; //TIME是新类型名,但不是新类型,也不是结构体变量名

新声明的新类型名TIME代表上面指定的一个结构体类型,这样就可以用TIME定义该结构体变量,如:

?
1
2
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类型,则例如:

?
1
2
Typedef int INTEGER ; //原来这样写
Typedef long INTEGER ; //移植后可以改为这样

如果不是用typedef声明的,那每一处定义int类型的地方都要改,程序越大,工作量越大.

以上所述是小编给大家介绍的C及C++中typedef的简单使用介绍,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对我网站的支持! 。

原文链接:http://www.cnblogs.com/dmego/p/5944169.html 。

最后此篇关于C及C++中typedef的简单使用介绍的文章就讲到这里了,如果你想了解更多关于C及C++中typedef的简单使用介绍的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com