Malloc没有分段错误

时间:2018-02-05 01:33:23

标签: malloc

我有这段代码:

char *test = malloc(sizeof(char) * 1);
test[0] = 't';
test[1] = 'e';
test[2] = 's';
test[3] = 't';
test[4] = '\0';
printf("%s", test);

我用一个sizeof char来测试我的测试。 但是当我运行这个程序时,我的程序不会出现段错误。为什么? ..

谢谢!

1 个答案:

答案 0 :(得分:0)

简而言之,malloc不能保证能够捕获程序的所有内存错误行为并引发分段错误。

事实上,人们会认为这只是最好的情况,在最坏的情况下,你将覆盖你的程序的其他数据。

有关详细信息,请参阅重复帖子。