我的职能如下:

void deleteNode ( node **my_head, int t_data )
{
 typedef (*my_head) head;
}

我想要一个双指针值的别名(*我的头)。
编译时出现以下错误:
<error: expected '=', ',', ';', 'asm' or '__attribute__' before 'head'>

我确实有一个解决办法,但我仍然需要让这个工作。
有谁能帮我解决这个问题吗!!

最佳答案

请注意术语typedef。它用于类型定义。准确地说,typedef用于定义新类型,而不是如您所期望的那样定义变量名别名。
根据c99标准,第6.7.2章的类型说明符是
空的
烧焦
短的
内景
长的
浮动
双重的
签署
未签名
_布尔
_复杂的
_想象的
结构或联合说明符
枚举说明符
类型定义名
因此,您可以对这些类型使用typdef。您要尝试的是将typedef与变量名一起使用。这是不允许的。
正如其他人所指定的,您必须以某种格式使用typedef

typedef <old type name> <new alias>;

关于c - 在C程序中使用typedef时出现的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27653446/

10-16 00:45