使用typedef在C中实现抽象数据类型

时间:2014-04-01 03:35:57

标签: c struct typedef abstract-data-type

所以我在我的一本书中看到一段C代码,与使用'typedef'运算符实现抽象数据类型有关:

struct account {
  char *username;
  char *password;
};

struct account;

typedef struct account *Account;

请有人向我解释这一部分的目的是什么:

struct account;

我不确定它的用途是什么。 谢谢!

2 个答案:

答案 0 :(得分:2)

struct account;

查看您的代码,这不是必需的。但是当它没有完整的定义可用时,它可以用作前向声明,并且您正在使用account类型的指针并在其他地方定义它。

答案 1 :(得分:0)

这只是一个前瞻性声明。这将转到公共标题:

struct account;
typedef struct account *Account;

所以Account类型可用,但结构成员是隐藏的。