【C语言---30】动态内存分配函数的练习

#include
#include

int main()
{
	 char* p = (char*)malloc(100 * sizeof(char));
	 if (p == NULL)
	 {
		  exit(EXIT_FAILURE);
	 }
	 free(p);
	 
	 char arr[] = { 0 };
	 char* p2 = (char*)calloc(sizeof(arr) / sizeof(arr[0]), sizeof(arr));
	 if (p2 == NULL)
	 {
		  exit(EXIT_FAILURE);
	 }
	 /*free(p2);*/  //释放之后,p2变为野指针
	 p2 = (char*)realloc(p2, 100 * sizeof(arr));
	 free(p2);   //野指针如果再次释放会断言失败
	 system("pause");
	 return 0;
}

你可能感兴趣的:(【C语言---30】动态内存分配函数的练习)