我有一个源文件,其中定义了一个typedef结构:
typedef struct node {
char *key;
char *value;
struct node *next;
} *Node;
Run Code Online (Sandbox Code Playgroud)
在此模块中,有一些函数在Node上运行,并将Node作为返回类型.我应该在这个typedef的头文件中写什么?
写作是正确的
typedef *Node;
Run Code Online (Sandbox Code Playgroud)
在标题?
use*_*733 11
您可以使用:
typedef struct node * Node;
Run Code Online (Sandbox Code Playgroud)
但我建议不要将指针隐藏在类型声明中.在变量声明中提供该信息更具信息性.
的module.c:
#include "module.h"
struct node {
char *key;
char *value;
struct node *next;
};
Run Code Online (Sandbox Code Playgroud)
module.h中:
typedef struct node Node;
Run Code Online (Sandbox Code Playgroud)
某处指针的变量声明:
#include "module.h"
Node * myNode; // We don't need to know the whole type when declaring pointer
Run Code Online (Sandbox Code Playgroud)