首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

大规模结构体初始化有关问题

2012-02-20 
大规模结构体初始化问题各位大侠:1. 本人定义了一个结构体,里面放了一个长度为100的数组。现在想把这个数组

大规模结构体初始化问题
各位大侠:
  1. 本人定义了一个结构体,里面放了一个长度为100的数组。现在想把这个数组的每一个元素都初始化为1000,该怎么办?
形如:
  struct a
  {
  int c[100];
  };
  struct a b[50][6];
请不要建议把b的300个元素逐一初始化。

  2. 上述定义中若改为b[50][7]就会有错误提示(TC)中,是否说明C语言有最大容量限制,我的内存有2G,b应该可以定义得很大才对?

  3. 上述程序是放在main外面的,如果放在main里面就会有错误提示,不知为何?


[解决办法]
1 memset
2 栈空间不够,不关内存事,要看编译器支持。
可以用malloc动态申请内存就不受这个限制了
3 提示什么错误
[解决办法]
TC是DOS下16位的编译器,那时,程序访问的内存被分成了64K大小的一段一段,所以问题可能跟你的编译模式设置有关,你可以试着改成大模式(Huge Mode)试试看。
注意:50 * 7 * 100 * 2 = 70000字节,超过了64K。

热点排行