typedef的几种使用方法

typedef是C语言的关键字,它的作用是是为一种数据类型定义一个新名字,主要是助记和简洁。



列一下三种用法:

(1)给void*类型定义了新名字,叫做POINT


typedef void* POINT;


那么,


POINT p;

就相当于

void* p;


(2)与结构体一起用,这相当于定义了结构体myStruct并且给它起了一个别名叫mystruct

typedef struct myStruct{

int num;

int id;

}mystruct;

那么,

如果不起别名,则需要这样定义:

struct myStruct ms;

现在可以这样用了,使用别名mystruct:

mystruct ms;


(3)给复杂的类型起一个别名,比如定义一个叫callback_f的类型,它实际是接受一个char*参数并返回int的函数指针:

typedef int (*callback_f)(char*);


这样就能使用:

callback_f f;


来声明一个函数指针f,相当于:

int (*f)(char*);


记法很简单,将要写的函数指针名字换成新名字,并在前面加上typedef就行了,比如这里直接将f换成别名callback_f再加typedef即可。

如此就可以继续赋值并使用:

int fuc(char *c){

    return 0;

}

f = &func;

好了,暂时先总结到这里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值