社区
C语言
帖子详情
struct node;
StudyTCPIP
2012-02-29 04:45:51
在数据结构一书看到的声明,它的意思是:node为一个结构体,但没有数据成员(未为其分配内存),对吗?
...全文
484
13
打赏
收藏
struct node;
在数据结构一书看到的声明,它的意思是:node为一个结构体,但没有数据成员(未为其分配内存),对吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
StudyTCPIP
2012-03-01
打赏
举报
回复
struct node{};
struct node
{
int a;
};
不行
但是我说的不是这个。是struct node;
qixing1115
2012-03-01
打赏
举报
回复
空的结构体要占空间,用sizeof(struct)就知道了,应该是1
i_love_c_plus
2012-03-01
打赏
举报
回复
这里只是声明node为一个结构体的名字,只是告诉编译器如何为node类型的变量分配内存,但单纯声明编译器不会分配内存。
jixiang1983
2012-03-01
打赏
举报
回复
[Quote=引用 10 楼 studytcpip 的回复:]
struct node{};
struct node
{
int a;
};
不行
但是我说的不是这个。是struct node;
[/Quote]
重复定义,自然不行。
struct node{}; //这是定义,
struct node; //这是声明,
注意区别
AnYidan
2012-02-29
打赏
举报
回复
[Quote=引用 7 楼 studytcpip 的回复:]
struct node;
struct node
{
int a;
};
VS2008测试没有问题,遵循最下面的声明。
[/Quote]
struct node{};
struct node
{
int a;
};
试试
Furney
2012-02-29
打赏
举报
回复
声明不分配内存,定义才分配内存。
StudyTCPIP
2012-02-29
打赏
举报
回复
struct node;
struct node
{
int a;
};
VS2008测试没有问题,遵循最下面的声明。
AnYidan
2012-02-29
打赏
举报
回复
[Quote=引用 3 楼 studytcpip 的回复:]
如果下面又重新定义了下变成:
struct node{
ElementType Element;
Position Next;
};
那应该遵循哪个声明和定义呢?
[/Quote]
重复定义!
hu7324829
2012-02-29
打赏
举报
回复
struct node{
ElementType Element;
Position Next;
};
这个算是声明
struct node{
ElementType Element;
Position Next;
} item ;
这样就给item分配了内存, 算定义
hu7324829
2012-02-29
打赏
举报
回复
一般来说
不占内存的叫做声明,占用一定的内存叫做定义。
StudyTCPIP
2012-02-29
打赏
举报
回复
如果下面又重新定义了下变成:
struct node{
ElementType Element;
Position Next;
};
那应该遵循哪个声明和定义呢?
jixiang1983
2012-02-29
打赏
举报
回复
定义应该这样:
struct node{ };
struct node; 这句是对结构体node的声明,未生成对象和分配内存,这样写是因为结构可能在别处定义。写成:node obj; 才会分配内存
hu7324829
2012-02-29
打赏
举报
回复
应该是的
不过好像没什么意义。
Go语言官方文档学习笔记(第五季)
第五季内容包括以下十个部分: 1-
Struct
s 2-
Struct
Fields 3-Pointers to
struct
s 4-
Struct
Literals 5-Arrays 6-Slices 7-Slices are like references to arrays 8-Slice literals 9-Slice defaults 10-Slice ...
typedef
struct
node
的用法及与
struct
node
的区别,为何要用typedef?
typedef的作用是为已有的数据类型...
struct
node
{ int data; // 节点的数据域
struct
node
*next; // 节点的指针域 };
struct
node
n; // 定义一个单个节点 第二种方式:
struct
node
{ int data; // 节点的数
struct
node
和
struct
node
*类型以及为什么要使用
struct
node
*类型
在链表的学习过程,有的时候搞不清楚为什么只是一个指针而已,为什么要设置成
struct
node
*类型。 昨天又有了一点想法:指针地址的关系,以及指针和指针的不同。 一般我们学的都是类似于int *p或者char *p这种单纯...
【C语言】typedef
struct
node
{}a,*b;到底是什么意思?
也知道typedef
struct
node
{xxx}b;的意思是将这个结构体命名为b;但是对于这样的代码 typedef
struct
Node
{ int value1; int value2; }*p,a; 确不知道这两个表示的什么。首先我们先明确一个typedef最基本的定义 ...
数据结构中typedef
struct
node
用法
typedef
struct
node
{ elemtype data;
struct
node
* lchild, * rchild; }bit
node
,*bittree; 等价于 typedef
struct
node
{ elemtype data;
struct
node
* lchild, * rchild; }; typedef
struct
node
bit
node
; ...
C语言
69,374
社区成员
243,076
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章