您的位置:首页 > 编程语言 > C语言/C++

typedef的一些用法

2016-06-11 09:24 281 查看
今天看到一个typedef定义函数的语句,不甚了解,便查看了一些资料。

1、用typedef定义一个类型的别名

typedef char * pchar;


那么,pchar可以说和char *是同一类型

2、C语言中用typedef定义结构体。这个应该都比较容易理解

3、用typedef自定义函数指针

#include <stdio.h>
typedef void(*funcPoint)(int i); //定义函数指针
//这个函数指针指向的函数为:参数为int,返回值为void

//定义两个函数
void func1(int i)
{
printf("func1: i = %d\n", i);
}

void func2(int i)
{
printf("func2: i = %d\n", i);
}

int main()
{
funcPoint fp;
fp = func1;
fp(5);
fp = func2;
fp(7);

return 0;
}
//输出
//func1: i = 5
//func2 : i = 7


4、struct函数中的typedef

struct Test
{
typedef ClassType type;
ClassType a;
int b;
}
Test t;


我们无法知道t.a的类型,但是我要用x=t.a.那么我怎么确定x的类型呢?当然是:

Test::type x = t.a;


这种在struct中使用typedef在STL中有很多,对于理解STL源码也是很有帮助的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  typedef c语言