美文网首页
详解C语言中的类型定义

详解C语言中的类型定义

作者: 橡树人 | 来源:发表于2020-03-12 07:33 被阅读0次

类型定义

  • 使用的关键字是typedef
  • 格式:typedef int Bool;
  • 效果:编译器将该类型加入其可识别的类型名列表中;
  • 优点:提高程序的可读性和可移植性、方便程序修改等;
  • 比较宏macro类型定义type definition

格式

typedef int Bool;

注解:

  • 在类型定义中,类型名是在最后定义的。
  • 使用的是首字母大写的Bool,这是一些C程序员的习惯。

作用

使用type def来定义Bool会导致编译器将Bool类型加入其能识别的类型名列表中。

使用type def来定义Bool后,跟内置类型名一样,Bool可被用在变量声明,类型转换表达式,及其他地方。比如:

Bool flag;//等价于 int flag

优点

  1. 类型定义可使一个程序更容易理解。
  2. 类型定义可使一个程序修改起来更容易。
  3. 类型定义可提高一个程序的可移植性。

例1 假设使用变量cash_in和cash_out来存储美元量。
先声明Dollars为

typedef float Dollars;

然后声明:

Dollars cash_in, cash_out;

float cash_in, cash_out;

更有实际意义。

例2 后面我们要修改Dollars为double,仅需修改类型定义行,声明为Dollar类型变量的地方就不用修改。

typedef double Dollars;

例3 如果i是一个int变量,则虽然赋值语句

i = 100000;

在32位机器上运行正常,但在16位的机器上就运行失败(2^15-1=32767)。
此时,可考虑使用typedef来定义整数类型

例4 假设我们正在编写一个程序,该程序需要变量来存储产量,其中产量的数值范围为0-5000。
方法一:使用long来定义该变量;
方法二:使用int定义该变量;
方法三:使用typedef来定义产量类型

typedef int Quantity;

使用Quantity类型来声明变量:

Quantity q;

当移植到较短整数机器上时,只需修改产量的类型定义即可:

typedef long Quantity;

例5 C语言库使用typedef来为那些因C语言实现不同而改变的类型来创建类型名,比如_tptrdiff_tsize_twchar_t等,可参考头文件<stdint.h>

typedef long int ptrdiff_t;
typedef unsigned long int size_t;
typedef int wchar_t;

相关文章

  • 详解C语言中的类型定义

    类型定义 使用的关键字是typedef; 格式:typedef int Bool;; 效果:编译器将该类型加入其可...

  • C#语言入门详解006

    006 C#类型、变量与对象详解 目录 *什么是类型*类型在C#语言中的作用*C#语言的类型系统*变量、对象与内存...

  • Go Type

    Go语言中type关键字用于定义类型,因此又称为类型别名。 Go语言中的type并不对应着C/C++语言中的typ...

  • C语言-数据类型

    C语言中数据类型是什么重要的,他们是定义变量的基础。C语言中数据类型大体上可以分为:基本数据类型,构造类型,指针...

  • Swift可选值(Optional Values)介绍:?和!使

    一、Optional的定义 Optional是苹果引入到Swift语言中的全新类型,是Objective-C语言中...

  • Objective-C的三种枚举

    在Objective-C中可以通过三种方式来定义一个枚举类型。 一、C语言中的枚举 C语言中的枚举形如: 二、C+...

  • C语言14 指针类型

    C语言14 指针类型 指针是C语言中的一种数据类型, 定义带 "*"类型的变量 总结: 任何带有*的变量类型的标...

  • C#基础语法(二)

    四.CTS类型 C#认可的基本预定义类型并没有内置于C#语言中,而是内置于.NET Framework中。 例如,...

  • C语言中的自定义类型:结构体、枚举、联合

    我们知道c语言基本数据类型有: 本篇将重点介绍C语言中的自定义类型:结构体、枚举、联合 undefined结构体 ...

  • 变量的基本使用

    如何定义变量? C语言定义变量的格式: 数据类型 变量名称; Go语言中定义变量的格式: var 变量名称 ...

网友评论

      本文标题:详解C语言中的类型定义

      本文链接:https://www.haomeiwen.com/subject/eklejhtx.html