#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void main2()
{
int num;
scanf("%d", &num);
printf("%d\n", num);
int *p = (int *)malloc(sizeof(int)*num);
if (p == NULL)
{
printf("内存分配失败\n");
}
else
{
for (int i = 0; i < num; i++)
{
p[i] = i;
printf("%d\n", p[i]);
}
printf("%p\n", p);
free(p);
printf("%p\n", p); //内存释放前后,指针的值不变
p = NULL; //内存释放以后,要将指针置空(NULL),符合软件工程规范
printf("%d\n", p[2]); //内存置空,在程序测试时可以及时发现引用错误
}
system("pause");
}
动态分配的内存释放之后指针要置空
最新推荐文章于 2024-01-17 00:00:00 发布