社区
C语言
帖子详情
struct 内存分配
skyx
2008-12-10 12:17:10
struct 内存分配问题
例如:
struct S1 {
...
char a[1000000000000000000];
...
};
memset( S1,0, sizeof(S1))
会不会有问题
在内存不够的时候a还是会存储在S1的地址空间,还是会当做指针,指向另外一个可用空间,
是不是和编译器和操作系统有关系?
...全文
146
8
打赏
收藏
struct 内存分配
struct 内存分配问题 例如: struct S1 { ... char a[1000000000000000000]; ... }; memset( S1,0, sizeof(S1)) 会不会有问题 在内存不够的时候a还是会存储在S1的地址空间,还是会当做指针,指向另外一个可用空间, 是不是和编译器和操作系统有关系?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lbh2001
2008-12-10
打赏
举报
回复
如果编译器和系统允许这么大的数组,是没有问题的
这种用法是个技巧,
将数组用结构封装,借用结构的赋值特性完成数组的赋值
而普通的数组是不能这样的
tdjdyq
2008-12-10
打赏
举报
回复
你可以设置这个数组大小,在编译中.
在内存不够的时候a还是会存储在S1的地址空间,还是会当做指针,指向另外一个可用空间,
不是这样的
tdjdyq
2008-12-10
打赏
举报
回复
编译器一般是回默然一个数组的大小,超过了程序不能运行
yellowhwb
2008-12-10
打赏
举报
回复
1000000000000000000的话当然不行,32位机的整型才2^32大小,超出数组下标,呵呵,只要空间够,就不会有问题
skyx
2008-12-10
打赏
举报
回复
可能举例有些极端
换成1000好了
struct S1 {
...
char a[1000];
char b[1000];
...
} s1;
memset((struct *)&s1, 0, sizeof(s1))会不会存在风险,在不同的操作系统和编译器上?
jackzhhuang
2008-12-10
打赏
举报
回复
你在vs下申请char a[1024 * 1024 * 1024]就无法通过编译,编译器事先检查了。
Claude
2008-12-10
打赏
举报
回复
数组大小的限制应该和进程地址空间4G相关,本身并无限制。
jackzhhuang
2008-12-10
打赏
举报
回复
数组不是你说多大就能有多大的,与编译器有关
C++
struct
内存分配
大小
C++
struct
内存分配
大小 一 原则: 1 所有字段在内存中出现顺序与声明顺序一致 (理论上,译器可以随便放置各个字段) 2 由于性能原因,大多数编译器实际上会将
struct
的各个字段对齐放置在合适的内存边界。具体细节...
【C语言】
struct
结构体内存如何分配
1.结构体
内存分配
是根据结构体成员的类型大小分配的,且结构体分配内存是实例化之后分配的。 对于以上的结构体,
struct
demo的大小是多少呢?有些同学会觉得是13个字节,其实并不是,这里的
struct
demo 的大小是24...
C语言-
struct
结构体变量的
内存分配
struct
内存分配
定义技巧 首先我们定义
struct
变量,笔者习惯定义时,直接输入:
struct
name { }; 再对
struct
内部成员进行定义,防止“;”遗漏,导致程序报错。 先看一段代码 #include<stdio.h> ...
C语言中
struct
结构体中的内存如何分配
2.
struct
整体的内存是里面最大内存成员的整数倍。而我写的,首先是char a 占一个内存,int b ,1不是4的倍数,所以到偏移量为4的地方存储。首先,它的原则是1.所在位置的偏移量(即我写的红色数字)是sizeof(类型)...
【C++】class/
struct
的
内存分配
问题
说明:以32位系统为例,以class举例说明(C++的
struct
和class基本是一样的)
内存分配
的问题。 1、空类 class A{ }; sizeof(A) = 1 C++标准规定,不允许一个对象(当然包括类对象)的大小为0,不同的对象不能...
C语言
69,373
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章