gpt4 book ai didi

c - malloc 上的 sigsegv 错误让我抓狂

转载 作者:太空狗 更新时间:2023-10-29 17:13:41 26 4
gpt4 key购买 nike

这段 C 代码在 gdb 中给出了段错误

if ((seq_entry_action=malloc((seq_subphases)*sizeof(int*)))==NULL){
printf("Cannot allocate memory for seq_entry_action\n");
}

哪里:

int **seq_entry_action=NULL;
unsigned int seq_subphases=0;

在执行时,如果我在 gdb 中的这段代码之前添加一个断点(它只是另一个 printf() 语句),则值为

(gdb) p seq_subphases
$3 = 88
(gdb) p seq_entry_action
$4 = (int **) 0x0

然后我按 next,它在 malloc 处出现段错误

我真的不明白......

最佳答案

确实是这样......错误计算的 sizeof() 的早期 malloc 是此 malloc 失败的原因。

关于c - malloc 上的 sigsegv 错误让我抓狂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11871865/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com