#include <stdio.h>
#include <stdlib.h>
int main1()
{
int a;
int * p = (int *)malloc(sizeof(int)*10);
if (p == NULL)
{
printf ("内存分配失败\n");
return -1;
}
printf ("%p\n", p);
// 释放由malloc开辟的空间
free(p);
// free 操作仅仅释放堆上空间的使用权,不会改变指针的值
printf ("%p\n", p);
// 当释放完空间以后,一定要将指针设为NULL
p = NULL;
// 同一块空间不能被多次释放
free(p);
free(p);
free(p);
free(p);
free(p);
free(p);
return 0;
}
int main()
{
int a;
int * p = (int *)malloc(sizeof(int)*10);
if (p == NULL)
{
printf ("内存分配失败\n");
return -1;
}
// p = (int *)realloc(p, sizeof(int)*20);
int *tmp = (int *)realloc(p, sizeof(int)*20);
if (tmp == NULL)
{
printf ("重新分配内存失败\n");
return -1;
}
p = tmp;
printf ("p = %p, tmp = %p\n", p, tmp);
return 0;
}
malloc 函数
最新推荐文章于 2021-12-05 08:59:40 发布