24fahed

博客园 首页 新随笔 联系 订阅 管理

typedef的使用方法

typedef 将一个 变量声明 中的 标识符(名字) 部分,提取出来,作为该标识符 原本所代表的数据类型 的别名。(-----来自deepseek)

例子

基础例子:

struct LinklistNode LNode = {...}; // 声明并定义一个LNode变量

typedef struct LinklistNode LNode; // 创建一个名为LNode的类型描述符,代表struct LinklistNode

LNode* pNode; // 声明一个指向struct LinklistNode的指针

tyoedef LNode* pLNode; // 创建一个pLNode的类型描述符,代表LNode*  

区分例子:函数声明和变量声明哪一个可以用在typedef后面

void function(int); // 正确,是一个函数声明,不是变量声明

typedef void function(int); // 错误,函数声明不能当作typedef的参数

// -----------------------------------

void (*function)(int); // 正确,声明了function是一个指向返回值为void,参数为int的指针变量。

typedef void (*function)(int)l // 正确,变量名function被当作void (*)(int)类型的别名,

function test(param); // 正确,使用function类型描述符,声明了一个名为test的函数,返回值类型为function,参数为param

// -----------------------------------

void (*signal(int sig, void (*func)(int)))(int); // 正确,是一个函数声明,不是变量声明

typedef void (*signal(int sig, void (*func)(int)))(int); // 错误,函数声明不能当作typedef的参数
posted on 2025-12-31 10:10  24-Fahed  阅读(7)  评论(0)    收藏  举报