递增指针会导致泄漏的内存吗?

ckg*_*ckg 1 c pointers memory-management

以下代码是否包含字符串中前三个字符的内存泄漏?

char * str = (char*)malloc(21 * sizeof(char));
strcpy(str, "01234567890123456879");
str = str + 3;
free(str);
Run Code Online (Sandbox Code Playgroud)

谢谢.

K-b*_*llo 11

它比泄漏更糟糕,你不应该free用一个没有从malloc(或realloc/ calloc)返回的指针调用.你可能会发生泄漏或崩溃,或者谁知道还有什么......你做的是未定义的行为.

  • 猴子飞出你的USB端口! (2认同)