这段C代码为什么会crash?

2020-03-08 08:36发布

问题:

#include <stdio.h>
#include <stdlib.h>
int main() {
    char* ptr0 = (char*)malloc(sizeof(10));
    *(char**)(ptr0) = ptr0; //若去掉这行,则不crash。为啥?
    free(ptr0);

    return 0;
}

回答1:

你比比sizeof(10)和sizeof(char *)哪个大



标签: 内存 指针 c