1
BiteTheDust 2020-03-17 18:28:39 +08:00
建议别看了 我也看不懂
|
2
lcdtyph 2020-03-17 18:35:27 +08:00 via iPhone
LinkList 就是 struct LNode *
这个 typedef 拆开就好看了 定义一个指针: typedef int *pint; int a = 3; pint pa = &a; |
5
Jirajine 2020-03-17 19:19:33 +08:00 via Android
typedef 就是把组合了一堆东西的 declarator“封装”成一个“单词”(type name)直接当做一个新的 type 使用。
C/C++的 declarator 那一套规则很恶心,完全无法理解其组合方向、优先顺序的设计到底是什么理念。 |
6
ipwx 2020-03-17 19:28:32 +08:00 1
先学会 C 的类型声明,比如:
int a; // a 是 一个整型 int *a; // a 是 一个指向整型的指针 int *a[1024]; // a 是一个 1024 个指向整型的指针的数组 int (*f)(int,int); // f 是一个指向 int(int,int) 函数的指针 char* (*g)(char*); // g 是一个指向 char*(char*) 函数的指针 然后 typedef 你直接套进去,定义出来的变量和上面每一行一一等价。 typedef int A; A a; typedef int* A; A a; typedef int* A[1024]; A a; typedef int (*F)(int, int); F f; typedef char* (*G)(char*); G g; 最后,typedef struct { ... } YYY; 等价于: struct XXX { ... } typedef struct XXX YYY; 只不过就是省略了一个 struct XXX 的中间别名。 |
7
season4675 2020-03-17 19:55:39 +08:00
有引用,这个是 C++不是 C……本来想多说点的,上面都回答了……
|
8
msg7086 2020-03-18 06:08:10 +08:00
刚想说这是 C++不是 C,结果上面都说了……
|