一种typedef定义方法

typedef struct{
    char a;
}QType,*QQType;
int main(int argc, const char * argv[])
{

    QQType t = NULL;
    QType s = (QType){.a='a'};
    t = &s;
    cout<<t->a<<endl;
    return 0;
}

### C/C++ `typedef` 定义函数类型 #### 使用方法 在C/C++编程语言中,为了提高代码的可读性和简洁性,可以利用`typedef`关键字为复杂的类型定义别名。对于函数而言,这同样适用。通过`typedef`定义函数类型能够使后续的操作更加直观。 当涉及到函数指针时,直接声明可能会显得较为晦涩难懂。例如,要声明一个指向接受两个整数参数并返回一个整数值的函数的指针,可以直接写成: ```cpp int (*p)(int, int); ``` 但是这种方式不够直观。借助于`typedef`,可以让上述表达变得更加清晰易懂[^2]。 #### 示例 下面展示如何使用`typedef`来定义函数类型以及基于此创建函数指针的例子。 ##### 步骤一:定义函数类型 首先,定义一种新的类型表示特定签名的函数——即接收两个整型输入并输出一个整型结果的函数: ```cpp // 定义函数类型 'FuncType' 表示 (int, int)->int 的函数 typedef int FuncType(int, int); ``` 此处引入了新名字`FuncType`作为`(int, int)`到`int`映射关系的一种抽象描述方式[^1]。 ##### 步骤二:创建函数指针 有了之前定义好的`FuncType`之后,就可以很容易地创建相应的函数指针变量了: ```cpp // 创建一个名为 fp 的函数指针,它可以指向任何匹配 FuncType 签名的函数 FuncType* fp; ``` 此时,`fp`就是一个合法的函数指针对象,可用于存储满足条件的具体实现地址[^4]。 ##### 步骤三:关联具体函数 假设存在这样一个具体的加法运算函数`add()`: ```cpp // 实现一个简单的加法操作 int add(int a, int b){ return a + b; } ``` 那么现在可以把这个函数赋值给前面提到过的函数指针`fp`: ```cpp // 将 add() 函数绑定至 fp 上 fp = add; // 或者更紧凑的形式,在初始化的时候就指定目标函数 FuncType *fp = add; ``` 最后,便可通过间接调用来执行对应的功能逻辑: ```cpp // 调用被 fp 所指向的目标函数,并传入实参列表 printf("%d\n", fp(3, 4)); // 输出7 ``` 以上过程展示了完整的流程链路,从定义通用化的函数接口开始直到最终完成一次有效的回调请求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值