请问为什么第一种声明编译是通不过错的,第二种是正确的。
第一种:
typedef Node *List;//两者仅第一句不同
typedef struct LNode {
int Data[40];
struct LNode * Last;
} Node ;
第二种:
typedef struct LNode *List;
typedef struct LNode {
int Data[40];
struct LNode * Last;
} Node ;
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
C语言typedef声明问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
7条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
uwell_peng 2015-11-22 05:50关注typedef的格式:
typedef 【Type】 【Alias】;
其中【Type】必须是一种确定的类型例如int,【Alias】是你给这种类型取的别名;
而typedef Node* List;
这个语句中,Node* 不是一种明确的类型,所以会报错。
而struct关键字就告诉编译器这是指向一种用户定义结构体的指针,因此可以编译成功。本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2017-07-18 03:52回答 2 已采纳 ``` typedef struct tree_node TreeNode; 因此TreeNode = struct tree_node; typedef struct tree
- 2019-10-22 02:23回答 3 已采纳 multi是指针类型 比如 声明一个指针对象可以2种方式 1. node *p1 = new node 2. multi p2 = new node p1 和 p2均为对象指针
- 2021-06-08 05:04回答 1 已采纳 就是func类型,func就是函数指针类型,不用说func*类型
- 2020-09-04 18:44在C语言中,`typedef` 是一种非常有用的工具,它允许我们为已存在的类型创建新的别名,使得代码更易读、更具可维护性。在处理复杂的数据结构或函数声明时,`typedef` 可以大大简化理解。下面我们将深入探讨 `typedef...
- 2023-02-18 03:43回答 1 已采纳 写成jd* cz_bh(),这是函数申明,当然啥也不会执行写成ch_bh(),这是函数调用,在这里调用ch_bh函数,当然会执行啊=======86行你只是调用了ch_bh()函数,但你没有接收这个函
- 2022-12-18 07:15回答 1 已采纳 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7759599
- 2021-08-13 11:54回答 1 已采纳 这里的people不是变量,而是typedef定义的类型名称
- 2024-10-17 08:18汽车软件工程师101的博客 在C语言中,typedef关键字可以用来为已有的数据类型定义一个新的标识符,它的常用方法有
- 2022-04-04 06:08回答 2 已采纳 InitializeList函数初始化movies,没有起到任何作用,后面的movies是空指针。ListIsFull函数你的实现代码没有任何意义,传入的参数也没用到。你判断链表满的条件是什么?比如是
- 2022-10-20 09:24回答 2 已采纳 StackNode *NewNode=(StackNode *)malloc(sizeof (struct node));struct node就是StackNode,两者相同。但没有struct S
- 2022-03-27 10:29回答 1 已采纳 结构体声明定义修改为:typedef struct _sqlist{ ElemType *elem; int length; int listsize;}S
- 2021-07-22 08:46ChengZhou1的博客 一、什么是typedef typedef是在C和C++编程语言中的一个关键字。作用是为现有的数据类型(int、float、char……)创建一个新的名字,目的是为了使代码方便阅读和理解。 二、typedef用法 1、对于数据类型使用例如:...
- 2021-05-21 04:33weixin_39837352的博客 typedef是一种有趣的声明形式:它为一种类型引入新的名字,而不是为变量分配空间。在某些方面,typedef类似于宏文本替换——它并没有引入新的类型,而是为现有类型取个新名字,但它们之间存在一个关键性的区别。...
- 2021-11-04 00:41LtMamba的博客 C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称。 示例: typedef int BOOL;//定义一个布尔类型 #define TRUE 1 #define FALSE 0 //定义好之后,就可以像使用基本类型数据一样使用它了,如下面的...
- 2024-07-13 21:00新华的博客 typedef是C语言中的一个关键字,用于为现有的类型定义一个新的名字。typedef 原类型 新类型名;以上代码为int类型定义了一个新的名字Integer,从此可以使用Integertypedef可以用于为基本数据类型定义新的名字。指针...
- 2021-10-13 01:54a_happy_ant的博客 } ———————————————— 版权声明:本文为CSDN博主「qll125596718」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司