注册 登录
编程论坛 数据结构与算法

求高手进来解释解释

allenz0810 发布于 2012-09-30 03:04, 356 次点击
定义了
typedef struct Node
{
    int data;
    struct Node * pNext;

}NODE, *PNODE;

函数返回用
PNODE create_list(void);

请问那个返回算是什么意思?
可以解释一下吗?
2 回复
#2
寒风中的细雨2012-10-01 01:22
struct Node* create_list(void)
#3
pangding2012-10-01 09:48
2楼正解。

楼主要想具体了解,要再回顾一下 typedef 语法:
int a; 就是声明一个整型变量,变量名是 a。那么 typedef int a 就是定义了一个整型类型的别名 a。
定义了之后,如果我再写 a b; 那么其效果相当于 int b; (我这例子举的不好,因为用 a 来作别名,可以说是糟糕透了)

再看一个相对复杂些的:
比如 struct a { ... }; 会定义一个名为 a 的 struct 结构。这时你再 struct a b, *c; 就会分别定义一个 a 类型的对象和一个指向 a 类型的指针。
同理如果你 typedef struct a b, *c; 就会分别定义 a 类型和指向 a 类型指针的别名。

你给的例子,就是把定义结构体和定义别名这两步压缩在一步里了。这种压缩的写法很见,因为会显得代码更紧凑一些。
1