提问人:Cardinal 提问时间:10/27/2022 更新时间:10/27/2022 访问量:25
这段代码不应该给出段错误,因为我只有 malloc'ed 1 字节的字符吗?[复制]
Shouldn't this code give a segment fault since I have only malloc'ed 1 byte of char? [duplicate]
问:
这个问题在这里已经有答案了:
C 语言中的 Malloc 和数组索引混淆 (4 个答案)
为什么当我写入数组末尾时没有出现分段错误? (4 个答案)
为什么当我写入数组末尾时,我的程序不会崩溃? (9 个答案)
无越界错误 (7 个答案)
去年关闭。
这里是 C 的新手。正在尝试strcat,并认为我的代码应该出错,但它工作正常。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[]){
char string[] = "string!";
char* concat = (char*)malloc(sizeof(char));
strcat(concat,string);
printf("%s\n", concat);
free(concat);
}
事实上,我能够访问内存,就像应该抛出错误一样,对吧?printf("%c\n", *(concat +1232));
我正在尝试字符串函数,看看做什么会给我带来什么错误。我以为上面的代码会给出错误,但事实并非如此。我对strcat的理解错了吗?
答: 暂无答案
评论