首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于tpyedef定义的结构体有关问题

2013-07-08 
关于tpyedef定义的结构体问题看到一段老美的程序其中一段这样写:struct HTentry{char *keyint datastruc

关于tpyedef定义的结构体问题
看到一段老美的程序其中一段这样写:

struct HTentry
{
char *key;
int data;
struct HTentry *next;
};
typedef struct HTentry *HTable;//1
...
Htable *HTcreat()
{
     HTable *ht=(HTable *) calloc( HTMAXSIZE,siezeof(HTable));
}

想问一下,注释一定义的*HTable 也还是一个结构体吧,为什么要用* ,是为了之后定义别的变量时候易于理解要定义一个结构体指针是吗?
还有一个问题,可不可以如下这样写?

typedef struct HTentry
{
char *key;
int data;
struct HTentry *next;
}*HTable;
...
结构体 指针 ty typedef
[解决办法]
是声明一个 指向HTentry这个结构体的指针类型
第二个可以
[解决办法]
第一个是声明了指针变量
第二个 可以
[解决办法]
typedef struct HTentry *HTable;//1
可以这样理解:
typedef (struct HTentry *) HTable;

HTable的类型是(struct HTentry *), 一个 指向结构体的指针
[解决办法]
定义的*HTable 

int *p; // P 是一个int 类型的指针,因为对p 解引用得到了一个int 类型的数值

热点排行