社区
C++ 语言
帖子详情
struct node *p 和node *p
woos
2004-07-24 04:31:28
假设在程序中有如下定义:
struct node()
{
int v;
node *next;
}NODE;
在使用这一结构体的时候,书上都说要这样声明:
struct node *p;
或
NODE *p;
而我在程序中一直用
node *p;
这也被正确编译了。
它们有区别吗?
...全文
396
10
打赏
收藏
struct node *p 和node *p
假设在程序中有如下定义: struct node() { int v; node *next; }NODE; 在使用这一结构体的时候,书上都说要这样声明: struct node *p; 或 NODE *p; 而我在程序中一直用 node *p; 这也被正确编译了。 它们有区别吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
woos
2004-07-25
打赏
举报
回复
不好意思,那个括号是没有的,不小心打上去了。。。
明白是怎么回事了。谢谢大家。
antijpn
2004-07-24
打赏
举报
回复
楼上找个能支持这样定义struct的编译器给我看看
elvahuang
2004-07-24
打赏
举报
回复
哈哈 这个没什么
不过是语法啦
编译器可能对语法的支持不同啦
antijpn
2004-07-24
打赏
举报
回复
struct node()//node()是什么?函数调用?函数声明?定义?
{
int v;
node *next;
}NODE;
kaphoon
2004-07-24
打赏
举报
回复
to 楼主:
你的
struct node() //这个括号,什么意思?
{
int v;
node *next;
}NODE;
NODE是个变量,不是类型,所以不能 NODE* p;
你必须要
typedef struct node{
int v;
}NODE;
应该是这样的~~
yesdo
2004-07-24
打赏
举报
回复
c和c++的语法不同的原因。申明结构对象,在c 中一定要加关键字struct;c++中则不须!
你在c++中用NODE *p申明node *p反而是 错的。因为c++中严格区分大小写。
所以在c++中:struct node *p和node *p一样!c 中就不同!
freefalcon
2004-07-24
打赏
举报
回复
typdef struct node -> typedef struct node
freefalcon
2004-07-24
打赏
举报
回复
所以c里面多见如下形式:
typdef struct node
{
int v;
node *next;
}NODE, *PNODE;
redleaves
2004-07-24
打赏
举报
回复
struct node *p; //这是C
node *p; // 这是C++,但C++支持C的方式
BluntBlade
2004-07-24
打赏
举报
回复
在C++中两种写法没有区别。
Go语言官方文档学习笔记(第五季)
Go富有表现力,简洁,整洁且高效。它的并发机制使编写程序可以轻松地从多核和联网机器中获得最大收益,而其新颖的类型系统则可以实现灵活的模块化程序构造。Go可以快速编译为机器代码,但具有垃圾回收的便利性和运行时反射的功能。它是一种快速的,静态类型的编译语言,感觉就像是一种动态类型的解释语言。Go语言官方文档学习笔记是基于官方文档及个人学习Go的笔记,整理完成的Go语言快速入门课程。第五季内容包括以下十个部分:1-
Struct
s2-
Struct
Fields3-Pointers to
struct
s4-
Struct
Literals5-Arrays6-Slices7-Slices are like references to arrays8-Slice literals9-Slice defaults10-Slice length and capacity课程目录
struct
node
和
struct
node
*类型以及为什么要使用
struct
node
*类型
在链表的学习过程,有的时候搞不清楚为什么只是一个指针而已,为什么要设置成
struct
node
*类型。 昨天又有了一点想法:指针地址的关系,以及指针和指针的不同。 一般我们学的都是类似于int *p或者char *p这种单纯结构的指针。而在进行链表的学习时,我们用的是复合结构的指针。 可以进行这样的类比:一般单结构的指针,就把它看成是一个单层抽屉,这个抽屉里面装的是需要保存的地址,它指向的是和自己一样的结构的抽屉;而复合结构的指针,把它看成是一个双层的抽屉,它其中一层装的是需要保存的地址,另一层也许装的是
typedef
struct
node
的用法及与
struct
node
的区别,为何要用typedef?
typedef的作用是为已有的数据类型定义一个新名字,其主要目的是为了我们在使用时能用这个更加清晰简单的新名字,还有一个目的就是为了简化变量的声明。 下面的几段代码具有相同的功能,都是用于链表结构体节点的定义和声明: 第一种方式:
struct
node
{ int data; // 节点的数据域
struct
node
*next; // 节点的指针域 };
struct
node
n; // 定义一个单个节点 第二种方式:
struct
node
{ int data; // 节点的数
c语言中定义结构体指针并指向一片内存空间和直接定义一个结构体变量的区别
Node
*p=(
Node
*)malloc(sizeof(
Node
)); 和
Node
p 两个有什么区别???
Node
是一
(来自百度解答)
Node
*p是定义一个
Node
结构体指针,指针名为p,指向一个
Node
结构体,并为这个结构体分配了内存空间 该结构体无命名
Node
p是定义一个
Node
结构体,结构体名为p。 追问:那两个的用法有什么区别???在内存中分别是怎么存储的??? 回答: 结构体指针本质上是指向一个结构体 使用如下例
struct
Node
{i
关于数据结构(c语言)中结构体声明的typedef
struct
L
Node
, *LinkList的思考
在数据结构的链表,表示中 typedef
struct
Node
* PtrTo
Node
和 typerdef
struct
List的表示说明 typedef
struct
Node
* PtrTo
Node
;
struct
Node
{ elementype data; ptrTo
Node
Next; }; typeded ptrTo
Node
List; List L; 这段代码中 用typeder这个方式 来重命名
struct
Node
* 这个结构体类型,所以 ptrTo
Node
这个变量名就可以直接
C++ 语言
64,635
社区成员
250,963
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章