美文网首页
6.7类型定义(typedef)

6.7类型定义(typedef)

作者: Hy_Slin | 来源:发表于2018-02-11 14:07 被阅读0次

typedef用于创建新的数据类型名.

typedef int Length;

会将length定义为与int具有同等意义的名字.类型length可用于类型声明,类型转换等.它和数据类型int完全相同.

类似的,声明

typedef char *String;

将string声明为与char*或字符指针相同的含义

typedef中声明的类型在变量名的位置出现,而不是紧接在关键字typedef之后.以大写字母作为typedef定义的类型名的首字母以做区分.

从任何意义上讲,typedef声明并没有创建一个新类型,它只是为某个已存在的类型增加了一个新的名称而已.typedef声明也没有增加任何新的语义:通过这种方式声明的变量与通过普通声明方式声明的变量具有完全相同的属性.type类似于#define语句,但typedef是由编译器解释的,因此它的文本替换功能要超过预处理器能力.

除了使表达式更简洁之外,使用typedef还有两个重要原因,首先,它可以使程序参数化,以提高程序的可移植性,如果typedef声明的数据类型同机器相关,那么当程序移植到其他机器上时,只需改变typedef类型的定义就可以了.
一个经常用到的情况是,对于各种不同大小的类型值来说,都使用通过typedef定义的类型名,然后分别为各个不同的宿主机选择一组合适的short,int和long类型大小即可.

这个原因我想应该是,可以直接修改定义的那个名字的数据类型,就可以将所有使用此名字的数据类型改变,而不用去源代码中一个一个修改.

第二个是为程序提供更好的说明性,但是这个我感觉没那么大的重要性.

相关文章

  • 6.7类型定义(typedef)

    typedef用于创建新的数据类型名. typedef int Length; 会将length定义为与int具有...

  • IMP

    IMP定义在runtime的objc.h中,定义如下: typedef说明形式:typedef 返回类型(新类型...

  • NS_ENUM&NS_OPTION

    先复习几个概念 typedef定义类型别名 语法:typedef类型别名 例子:typedef double RE...

  • 第38条:为常用的块类型创建typedef

    typedef:类型定义,用于给类型起一个别名 typedef int (^EOCSomeBlock) (BOOL...

  • C语言之typedef

    用typedef定义新类型名(给已有类型取别名)在编程中可以用typedef来定义新的类型名来代替已有的类型名格式...

  • typedef

    typedef常见用法 1.常规变量类型定义 例如:typedef unsigned char uchar 描述:...

  • C++ 回顾

    typedef 使用 typedef 为一个已有的类型取一个新的名字。下面是使用 typedef 定义一个新类型的...

  • C与C++的结构体和类

    一、结构体 1.1、类型定义(typedef) typedef用来给数据类型取新的名字。 示例: 输出结果: 1....

  • Block 与 指向函数的指针

    指向函数指针类型的定义:typedef int(*sumPoint)(int,int); Block类型的定义:t...

  • 数据类型

    枚举类型 typedef语句 给某个数据类型起不同的名字typedef int Counter;上面的语句定义了一...

网友评论

      本文标题:6.7类型定义(typedef)

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