所以我在我的一本书中看到一段C代码,与使用'typedef'运算符实现抽象数据类型有关:
struct account {
char *username;
char *password;
};
struct account;
typedef struct account *Account;
请有人向我解释这一部分的目的是什么:
struct account;
我不确定它的用途是什么。 谢谢!
答案 0 :(得分:2)
struct account;
查看您的代码,这不是必需的。但是当它没有完整的定义可用时,它可以用作前向声明,并且您正在使用account
类型的指针并在其他地方定义它。
答案 1 :(得分:0)
这只是一个前瞻性声明。这将转到公共标题:
struct account;
typedef struct account *Account;
所以Account
类型可用,但结构成员是隐藏的。