关于结构体所占字节数的问题?

liluvu 2004-10-12 08:08:57
#include <iostream>
#include <stdlib.h>

using namespace std;

struct mys {
};

struct ans {

int fun() {
int c=1;
cout << "sdf"<<endl;
return c;
}
int ff();
};



int main(int argc, char *argv[])
{
struct mys test;
struct ans aa;
cout << sizeof(test)<<endl; // 为什么是1;
cout << sizeof(ans); // 为什么还是1;
system("PAUSE");
return 0;
}
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
topcool99 2004-10-12
  • 打赏
  • 举报
回复
我说的:结构没有引用前不占内存空间是错的!

没有成员变量的结构的大小为1,因为必须保证结构或类的每一

个实例在内存中都有唯一的地址。

第二个是1的原因可能是因为在结构中用函数所以还是空结构。
liluvu 2004-10-12
  • 打赏
  • 举报
回复
如果是指针类型的大小应该是4个字节的
topcool99 2004-10-12
  • 打赏
  • 举报
回复
结构没有引用前不占内存空间
输出的是一个指针类型的大小
柯本 2004-10-12
  • 打赏
  • 举报
回复

cout << sizeof(test)<<endl; // 为什么是1; 与编译器有关,VC/DEV-CPP空结构的长为1 BCB为8
cout << sizeof(ans); // 为什么还是1; 函数不占结构长度

69,364

社区成员

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

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