我在代码中看到这样的事情:

struct listnode{
char data;
struct listnode *nextptr;}

typedef struct listnode LISTNODE;

typedef LISTNODE *listnodeptr;


那他为什么要使用typedef 2次呢?

最佳答案

这里的两个typedef不是重复的,它们为两种不同的类型起别名。


typedef struct listnode LISTNODE;创建类型LISTNODE,它是struct listnode的别名
typedef LISTNODE *listnodeptr;创建类型listnodeptr,它是LISTNODE *的别名,即struct listnode *

关于c - 为结构定义typedef 2次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41965573/

10-11 18:55