非常风气网www.verywind.cn
首页
C语言定义数组过大
用
c语言
如何
定义
一个较大的二维
数组
,例如1000行1000列
答:
但是如果你的数组非常非常大,
那就需要考虑栈内存问题了
。因为直接定义的数组是存放在当前线程栈空间的。一般线程栈空间都会有默认值(可能有1MB到10MB不等),具体取决于操作系统的默认分配策略。也可以通过创建线程的时候自己设置。更合适的方式是用动态分配内存,C语言中对应的是malloc函数。动态空间是在...
C语言定义数组
,内容太长,怎么办啊?
答:
可以动态开辟空间,malloc 然后用想干函数将不用的空间去掉
c语言
中
数组过大
怎么办 double dis[5001][256][256]
答:
你这个应该因为
过大
无法分配足够空间导致 这个
数组
大小为5001*256*256*8=2500.5M bytes 一般的电脑里面根本没有这么大的连续空间,而且操作系统对这么大的文件也不支持。对于这种情况 你需要把数组分开来存不要
定义
在一起。数组在分配时是连续空间分配,你这么大时根本无法满足的 建议你这样定义把数组...
c语言定义大数组
问题,当定义一百万大的数组时,定义在main里面和定义在ma...
答:
数组定义
在哪里并不重要,重要的是数组的定义时的容量必须是常量表达式,不能使用变量,因为数组大小一旦被划定就无法动态的改变,所用你用define定义的是常量,那是正确的,而用int定义的是变量,那是不正确的
c语言
中如果
数组
中的元素超出了所
定义
的数组长度,即形如: a[3]={1...
答:
结束条件写if(i<=N)break; 输出时,数字
数组
用for 和printf就可以,结束条件为if(i<=N) 如果是字符数组,不用
定义
常量了,然后定义一个足够大的字符数组用gets(a)输入,用printf("%s",a)加循环语句输出,遇到'\0'自动终止
c语言
分配的动态
数组过大
调用的时候会出现什么情况
答:
这样的
数组
是动态的,但在未使用前大小是0不占用内存。我们叫它柔性数组。比如:typedef struct lis{ int a;int
array
[];//这就是柔性数组 }LIST;如果你用malloc申请的大小,那大小看你参数大小。看看是不是代码在循环申请,没有free释放,造成内存泄露。
c语言
如何
定义
超过50万的大
数组
答:
由于栈大小的限制,这种规模的
数组
不能存在栈上,所以必须放在堆中。
C语言
中申请堆空间使用函数malloc:include <stdlib.h>int *arr;arr = malloc(sizeof(int) * 500000);if (arr == NULL) 空间申请失败;注意要引用头文件stdlib.h
C语言数组问题,怎么处理
C语言数组定义
长度的超出部分?
答:
C语言
中的变量是按照顺序依次分配内存空间的,不同的操作系统内存生长的方向是不同的 比如下面的程序在我的机器上(WIN7 MyC++)include <stdio.h> include <math.h> int main(){ int t[5] = {-1,-2,-3,-4,-5};int table[5] = {1,3,5,7,8};int temp[5] = {2,4,6,9,10...
C语言数组
下标太大怎么办?
答:
当需要数组分配很大的空间,且为局部变量时,有可能会出现执行出错的情况。这是因为,对于每个进程/线程,栈空间大小是有限的,而局部变量的内存是在栈上分配的,如果局部变量
过大
,则会出现分配失败的情况。要解决这个问题,有两种方式:1 将
数组定义
为全局变量。全局变量分配时,会分配在全局变量空间,...
c语言
里面
数组过大
如何处理
答:
写入文件吧,一般是申请不到那么大的内存,就是能够申请到内存,也是用虚拟内存,也会交换到硬盘。可以开辟一块内存空间512M的空间当CACHE,如果这样的话,会快一点。
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
你可能感兴趣的内容
C语言定义double型数组
c语言数组怎么定义
c语言定义数组并赋值
c语言定义数组的格式
c语言定义字符数组
c语言定义一个字符串数组
c语言字符串数组定义
c语言数组不定义长度
c语言定义数组长度
本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
©
非常风气网