有关单向链表定义的问题

lightgale 2003-07-17 04:36:14
单向链表定义
typedef struct
{
char * c;
nodeptr next;
}nodeptr;
编译出错,下面定义则可,
typedef struct
{
char* c;
struct node* next;
}node;
为何?
...全文
30 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
totti0115 2003-07-18
  • 打赏
  • 举报
回复

struct list
{
char *c;
struct list *next;
}
typedef struct list node;
typedef node *any;
njuhuangmy 2003-07-17
  • 打赏
  • 举报
回复
typedef struct // node@here ??
{
char* c;
struct node* next;
}node;

搂主 检查 一下, 是这个 能通过的吗??

struct node ?? // what's this ?
njuhuangmy 2003-07-17
  • 打赏
  • 举报
回复
这句话 ,你应该 看 c++ 的书

在 许多 c++ 的书里 明确 指出

在 c 里不能 按第一种 来用, 而在 c++ 中可以

看书去吧 :)

告诉你 ,是关于 定义,声明 是否 完整的 东西
kkbby 2003-07-17
  • 打赏
  • 举报
回复
定义一个结点,那么后面应该是一个指针域,那么应该分配一个指针给它.书上的好象都是第二种写法.
ninesong 2003-07-17
  • 打赏
  • 举报
回复
nodeptr定义分配一个数据类型空间的大小,当然是不能通过的。
但是struct node* 定义的只是一个地址变量。
yahaha 2003-07-17
  • 打赏
  • 举报
回复
在定义一个结构体时只能在未完全定义完时只能调用此结构体的指针,因为在这个阶段只有这个结构体的指针时可以确定的。
idontlikenickname 2003-07-17
  • 打赏
  • 举报
回复


nodeptr还没有进入作用域~但是对于第二中写法,编译器有针对这种情况的特殊处理.

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧