社区
C语言
帖子详情
struct 内存分配
skyx
2008-12-10 12:17:10
struct 内存分配问题
例如:
struct S1 {
...
char a[1000000000000000000];
...
};
memset( S1,0, sizeof(S1))
会不会有问题
在内存不够的时候a还是会存储在S1的地址空间,还是会当做指针,指向另外一个可用空间,
是不是和编译器和操作系统有关系?
...全文
152
8
打赏
收藏
struct 内存分配
struct 内存分配问题 例如: struct S1 { ... char a[1000000000000000000]; ... }; memset( S1,0, sizeof(S1)) 会不会有问题 在内存不够的时候a还是会存储在S1的地址空间,还是会当做指针,指向另外一个可用空间, 是不是和编译器和操作系统有关系?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
数组不是你说多大就能有多大的,与编译器有关
字节存储单元及
struct
内存分配
在有限范围内的可计量数值几乎都可以用二进制数码串组合表示,计算机的内存由数以亿万计的比特位存储单元(晶体管)组成。由于一个位只能表示二元数值,所以单独一位的用处不大。通常将许多位组成一组作为一个基本...
C++
struct
内存分配
大小
C++
struct
内存分配
大小 一 原则: 1 所有字段在内存中出现顺序与声明顺序一致 (理论上,译器可以随便放置各个字段) 2 由于性能原因,大多数编译器实际上会将
struct
的各个字段对齐放置在合适的内存边界。具体细节...
【C语言】
struct
结构体内存如何分配
1.结构体
内存分配
是根据结构体成员的类型大小分配的,且结构体分配内存是实例化之后分配的。 对于以上的结构体,
struct
demo的大小是多少呢?有些同学会觉得是13个字节,其实并不是,这里的
struct
demo 的大小是24...
【Linux Kernel-task_
struct
专题】task_
struct
内存分配
这两个宏提供了一种机制,允许在
内存分配
前后执行额外的逻辑,如保存和恢复分配上下文,这对于调试和跟踪
内存分配
问题非常有用。通过使用这些宏,内核开发者可以在不修改分配函数本身的情况下,添加额外的逻辑来处理...
C语言-
struct
结构体变量的
内存分配
struct
内存分配
定义技巧 首先我们定义
struct
变量,笔者习惯定义时,直接输入:
struct
name { }; 再对
struct
内部成员进行定义,防止“;”遗漏,导致程序报错。 先看一段代码 #include<stdio.h> ...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章