社区
C语言
帖子详情
c++中空的结构体的长度问题
starsoft007
2001-07-20 12:32:12
如有一个空的结构体
struct a
{
}
用sizeof(a)来看它的长度,为什么
结果是1
...全文
137
5
打赏
收藏
c++中空的结构体的长度问题
如有一个空的结构体 struct a { } 用sizeof(a)来看它的长度,为什么 结果是1
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
darkay
2001-07-20
打赏
举报
回复
1,是为了使得两个对象有不同的地址(struct定义的也是类!),如果是空的结构的话,那么编译器自己添加一个字节到结果中。不过情况还不是这么简单的,如果有继承关系的时候,有些编译器就可能做优化,这个1字节不填入派生类中。
我不懂电脑
2001-07-20
打赏
举报
回复
和字长有关
柯本
2001-07-20
打赏
举报
回复
你用的是什么C?
FireBow
2001-07-20
打赏
举报
回复
关注
lase
2001-07-20
打赏
举报
回复
nod darkay(火凤凰),你可以看看thinking in C++里面有和火凤凰相同的叙述
C/
C++
中空
结构体
、空数组、空类的作用
如下例子可以运行通过: 在栈上定义数组只能是常量或者常量表达式,不能含有变量; 在堆上定义数组可以含有变量。 2、一个对象的大小 一个类中,虚函数、成员函数(包括静态与非静态)和静态数据成员都是不占用类对象的存储空间的。类在实例化的过程中,都会获得一个独一无二的内存地址,为了达到这个目的,编译器往往会给空类隐含的增加一个字节(char),这样空类在实例化后的内存中得到了独一无二的地址。空类在“泛型编程”中,空类(空结构)的用处非常广:我们利用类型(通常是空类),来区别对待不同类对象的属
c语言
结构体
数组如何判空,C/
C++
中空
结构体
、空数组、空类的作用
1、sizeof是什么?对象类型的大小是在编译的时候直接确定的。sizeof不是一个函数,而是一个返回对象类型大小的宏。其作用是返回一个对象或类型所占的内存字节数。如下例子可以运行通过:int main(){int a = 12;int b[sizeof(a)];cout << sizeof(b)/sizeof(int) << endl;return 0;}在栈上定义数组只...
C++
空类和空
结构体
的大小为什么是1?
引言 首先看两个小程序: #include<stdio.h> typedef struct A { //int as; }a; int main() { printf("%d\n",sizeof(a)); //输出 0 } #include<iostream> #include<cstdio> using namespace std; st...
C/
C++
空
结构体
,空数组,空类作用
我们经常会遇到这些
问题
: (1)
C++
中定义一个空类,他们它的大小(sizeof) 为多少? (2)只有一个char数据成员的类的大小? (3)能否定义一个空数组? (4)空数组名做标示的指针指向什么地方? (5)空类有什么用? (6)空数组有什么用? 等等 这些
问题
,笔者在这篇文章统统做一个比较详细的解析和认识。 1,si
C/
C++
中空
数组使用
问题
在C/
C++
中
结构体
中使用空数组在一定使用环境下很有好处。 例如: typedef struct _NET_DATA3 { INT32 iLength; BYTE byType; BYTE byReserved; WORD wStreamId; DWORD dwChannelId; DWORD dwParam; DWORD
C语言
70,034
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章