当前位置: 代码迷 >> C语言 >> 请问最后一行是什么意思??
  详细解决方案

请问最后一行是什么意思??

热度:254   发布时间:2006-07-16 16:15:42.0
请问最后一行是什么意思??

struct node {
char *item;
struct node *next;
};

typedef struct node *NODEPTR;

如题,请问这个typedef struct node *NODEPTRS是什么意思?谢谢大家

搜索更多相关的解决方案: next  

----------------解决方案--------------------------------------------------------

struct node {
char *item;
struct node *next;
};

typedef struct node *NODEPTR;

====>
define pointer

----------------解决方案--------------------------------------------------------
typedef struct node *NODEPTR; 道理与  struct node *next;一样 ,定义一个结构体指针
----------------解决方案--------------------------------------------------------
是啊,关键是为什么要用typedef我不太理解,直接用struct node *NODEPTR不就可以了吗?为什么还要加typedef ?

----------------解决方案--------------------------------------------------------
-。-是这样么?

这个typedef是自定义吧。

举个例子 typedef int INTABC(这边是乱打的。用上这个东西就是方便程序的可读性和移植性)

下面要定义int型的变量就要有INTABC定义。

#include <stido.h>
typedef int INTABC
main()
{INTABC i........}
----------------解决方案--------------------------------------------------------
类型定义
NODEPTR就是struct node *
以后凡是要定义struct node *都可以用NODEPTR代替
起到方便的作用,一个类型替换而已,并不是新类型.
----------------解决方案--------------------------------------------------------
以下是引用Garand在2006-7-16 16:26:25的发言:
是啊,关键是为什么要用typedef我不太理解,直接用struct node *NODEPTR不就可以了吗?为什么还要加typedef ?

这个是语法问题吧,呵呵
自定义类型就是要这个关键字的.
----------------解决方案--------------------------------------------------------
楼上大哥说的我懂啊,就是给变量类型起个别名阿,但 typedef struct node *NODEPTR 这句话里面typedef显然不是起别名的作用吧?

----------------解决方案--------------------------------------------------------

以下是引用Garand在2006-7-16 16:31:53的发言:
楼上大哥说的我懂啊,就是给变量类型起个别名阿,但 typedef struct node *NODEPTR 这句话里面typedef显然不是起别名的作用吧?

难道不是直接变成定义指针结构体的么?我还在看咧。。。我也有点迷糊了。


----------------解决方案--------------------------------------------------------

struct node {
char *item;
struct node *next;
};

typedef struct node *NODEPTR;

在这里struct node相当于一个自定义的数据类型,有两个成员变量
这里使用了typedef的用法,typedef顾名思义,用于类型的定义,例如:
typedef int* INT;
在这里INT代表了int*,用INT可以定义新的变量
INT ptoint = NULL;
ptoint 是一个指向整型变量的指针。

同理:在typedef struct node* NODEPTR;中,NODEPTR就代表类型struct node*(结构指针类型),同时
用NODEPTR可以定义新的变量。如:
NODEPTR node_;
但要注意:
typedef struct node {
char *item;
NODEPTR* next;
}NODEPTR ;
这样的写法是不正确地!


----------------解决方案--------------------------------------------------------
  相关解决方案