------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
// 野指针和内存泄露
//
// Created by 李佳乐 on 15-3-19.
// Copyright (c) 2015年 李佳乐. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
int main(int argc, const char * argv[]) {
//野指针的第一种形式:
//1)定义了一个指针变量,没有初始化
// *********************** 防止出现野指针的办法:给它赋值NULL
//2)p指向的空间已经被释放了,此时p也是一个野指针
int *p; //没有被初始化,这是野指针
//操作了野指针
// *p = 10;
//在堆区分配的内存
//堆区的内存空间由程序员负责申请和回收内存空间
p = (int*) malloc(4);
*p = 10;
printf("%d\n",*p);
//内存泄露:我们在堆区申请了空间,直到程序执行结束,这个空间都没有被释放
// 此时我们说 堆区的内存空间泄露了
//如何防止内存泄露?
//在我们不需要用到这个空间的时候,我们给他释放掉
// *********************** free(手动申请的空间的首地址)
free(p);
//p = NULL;
// //野指针操作
//*p = 100;
//printf("%d\n",*p);
return 0;
}