以下代码是否包含字符串中前三个字符的内存泄漏?
char * str = (char*)malloc(21 * sizeof(char));
strcpy(str, "01234567890123456879");
str = str + 3;
free(str);
谢谢。
最佳答案
它比 泄漏 更糟糕,您不应该使用未从 malloc
(或 realloc)返回的指针调用
/free
调用
)。您可能会发生泄漏、崩溃,或者谁知道还有什么...您所做的是未定义的行为。
关于递增指针会导致内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036948/