c – 为什么选择SIGSEGV?
发布时间:2020-12-16 06:46:31 所属栏目:百科 来源:网络整理
导读:为什么这段代码会抛出 SIGSEGV: int main(){ unsigned long toshuffle[9765625]; unsigned long i; for (i=0; i 1000; i++) toshuffle[i]= i; return 0;} 指针将不胜感激. (没有双关语:)) 解决方法 使用malloc()来获取那么多内存.你堆满了. unsigned long *
为什么这段代码会抛出
SIGSEGV:
int main() { unsigned long toshuffle[9765625]; unsigned long i; for (i=0; i< 1000; i++) toshuffle[i]= i; return 0; } 指针将不胜感激. (没有双关语:)) 解决方法
使用malloc()来获取那么多内存.你堆满了.
unsigned long *toshuffle = malloc(9765625 * sizeof(unsigned long)); 当然,当你完成它之后,你需要释放()它. 注意:在C中,您需要将指针强制转换为正确的类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |