C++ typedef 使用大全

简介: C++ typedef 使用大全

typedef 就是类型定义,把一种数据类型定义为某一标识符,并且在程序开发中应用这一标识符来实现相应的数据类型变量的定义。

总结了一下,使用范围大致有以下几种情况:

(1)、定义数据结构

通常为了输入程序的方便,增强程序的可读性,我们将结构体定义如下:

struct {
  int x;
  int y;
};
typedef struct{int x;int y;}POINT;

也可以 定义节点:

typedef struct  _node  Node;
struct _node{
int value;
Node*next;
};

(2)、定义数组类型

typedef int arry[100];
arry a;
相当于 int a[100];

(3)、定义函数指针

int test(int a);
typedef int (*p)(int a);
p  ptest;  
ptest=test; //将函数地址赋值给对象
ptest(10);

(4)、定义类类型

与定义结构体很相似

typedef class{
private:
......
public:
......
int a;
} myclass;

(5)、定义一种数据类型的别名

不只是简单的宏替换,可以用做同时声明指针类型的多个对象。

typedef char* PCHAR;

PCHAR  pa,pb;

使用宏:#define PSTR char*;

PSTR s1,s2;

那么 pa,pb,s1 都是char*类型,而s2则成了char类型。

(6)、定义与平台无关的类型

比如定义一个 REAL的浮点类型,在目标平台一上,让它表示最高精度的类型为:

typedef long double REAL;

在不支持long double 的平台二上,改为:

typedef   double  REAL;

在不支持 double 的平台三上,改为:

typedef   float REAL;

这样,当跨平台使用时,只需要改变 typedf 这段定义就行,不用改变其他的源码。


相关文章
|
8月前
|
iOS开发 C++ MacOS
c++typedef关键字
c++typedef关键字
40 0
|
18天前
|
存储 程序员 C++
深入解析C++中的函数指针与`typedef`的妙用
本文深入解析了C++中的函数指针及其与`typedef`的结合使用。通过图示和代码示例,详细介绍了函数指针的基本概念、声明和使用方法,并展示了如何利用`typedef`简化复杂的函数指针声明,提升代码的可读性和可维护性。
54 0
|
8月前
|
存储 Shell 程序员
【C/C++ 关键字 存储类说明符 】探究C/C++ typedef的秘密
【C/C++ 关键字 存储类说明符 】探究C/C++ typedef的秘密
100 0
|
8月前
|
C语言 C++
[C++&C] Struct 和Typedef Struct的区别
[C++&C] Struct 和Typedef Struct的区别
163 0
|
C++
【C++知识点】用 typedef 定义类型
【C++知识点】用 typedef 定义类型
167 0
|
C语言 C++ 编译器
C/C++语法知识:typedef struct 用法详解
第一篇:typedef struct与struct的区别 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
6402 0
|
C++ C语言
C及C++中typedef的简单使用指南
  又是在学数据结构的时候,发现了之前学习的知识遗忘很多,在发现对C/C++中关键字typedef的理解还是没有到位后,我翻阅了学C++用到的课本,又问了度娘,也看了不少关于typedef用法的博客。于是我就想把我理解的东西整理下来。
686 0