加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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中,您需要将指针强制转换为正确的类型.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读