美文网首页
C typedef 的用法

C typedef 的用法

作者: 付凯强 | 来源:发表于2022-04-25 11:35 被阅读0次

引言

C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。

用法:

在实际应用中,主要有4种用法:

  1. 为基本数据类型定义新的类型名;
typedef unsigned char BYTE;
typedef unsigned char byte;
BYTE  b1, b2;
byte b1, b2;

在跨平台移植的时候,只需要修改一下 typedef 的定义即可,而不用对其他源代码做任何修改。

typedef long double REAL;
typedef double REAL;
typedef float REAL;

常见的size_t在32位系统上定义为 unsigned int,也就是32位无符号整型。在64位系统上定义为 unsigned long ,也就是64位无符号整型。

  1. 为自定义数据类型(结构体、共用体和枚举类型)定义简洁的类型名称;
typedef struct tagPoint
{
    double x;
    double y;
    double z;
} Point;
Point oPoint1={100,100,0};
Point oPoint2;
  1. 为数组定义简洁的类型名称;
typedef int INT_ARRAY_100[100];
INT_ARRAY_100 arr;
  1. 为指针定义简洁的名称。

使用typedef之前:

int Max(int, int);
int(*p)(int, int);
p = Max;

使用typedef之后

int Max(int, int);
typedef int(*MAX_POINT)(int, int);
MAX_POINT p;
p = Max;

注意事项

  1. 注意事项一:
typedef char* PCHAR;
int strcmp(const PCHAR,const PCHAR);

此时const PCHAR相当于"char* const ",如果你想const PCHAR相当于”const char*,如下所示:

typedef const char* PCHAR;
int strcmp(PCHAR, PCHAR);

所以为指针声明 typedef,就应该在最终的 typedef 名称中加一个 const,以使得该指针本身是常量。

  1. 注意事项二:

typedef 是一个存储类的关键字,就像 auto、extern、static 和 register 等关键字一样,所以它们不能同时存在。

typedef static int INT_STATIC;

编译器为提示:

Cannot combine with previous 'typedef' declaration specifier

编译会报错:

error: conflicting specifiers in declaration of ‘INT_STATIC’

参考:

https://m.php.cn/article/455779.html
https://m.runoob.com/cprogramming/c-typedef.html

相关文章

  • C typedef 的用法

    引言 C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。 用法: 在实际应用中,主要有4...

  • Typedef 用法

    转自:Typedef用法总结 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C...

  • C语言-typedef的用法

    普通用法:为数据类型取别名 以上语句表示:为int类型取一个名为Zhang的别名 以上两条语句是等价的。 在结构体...

  • 代码注入

    typedef注意用法

  • typedef用法

    介绍 typedef在c语言中主要是用来声明数据类型的别名的,比如我们可以用来代替系统默认的类型名称,数组、字符串...

  • typedef的用法

    一、基本定义 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(...

  • typedef的用法

    一、typedef的用法 ①:定义一种类型的别名,但不是简单的宏替换。 通常来说,typedef要比#define...

  • typedef和typename

    一、typedef 用法:typedef 内置类型 别名 关键字typedef对内置类型、类类型等进行重命名,使用...

  • typedef

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

  • C/C++关键字介绍

    一、 typedef typedef为C/C++的关键字,与auto、extern、mutable、static、...

网友评论

      本文标题:C typedef 的用法

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