Free函数

Free函数


一、题目

请说出以下代码的输出结果,并说明原因。

#include
#include
#include

void Test(void)
{
	char* str = (char*)malloc(100);
	strcpy(str, "welcome");
	free(str);
	if (str != NULL)
	{
		strcpy(str, "world");
		printf("%s",str);
	}
	else
	{
		strcpy(str, "hello");
		printf("%s",str);
	}
}

int main()
{
	Test();
	return 0;
}


二、结果与分析

Free函数释放Malloc申请的堆内存空间,但不释放指向堆内存空间的指针,所以指针依旧不是野指针,结果输出:world

你可能感兴趣的:(#,C/C++,笔面试题分析笔记,c语言)