苏嵌24 16.11.30

远指针:多维指针


野指针:随机指向一块内存的指针

容易造成的错误:内存泄漏

可能不出现段错误:有时候随机分配的内存地址可能是已经分配过的内存地址


避免野指针:

我认为有以下几点要做,

首先,我们要养成良好的编码习惯

1:、当指针没有指向时,置为空(并不能解决,只能起引起注意的作用)

能引起我的注意,不能对这个指针进行操作。   在操作系统中0地址的空间不可以进行赋值操作   NULL:#define NULL (void *)0

2、当往一个指针指向的空间赋值时,一定要给这个指针分配空间

malloc(sizeof(int))   分配int类型所占内存的空间              4、10等直接数字在C编程中叫幻数

3、当给一个指针分配完空间,要检查空间是否分配成功

if(p == NULL )

{

    printf("malloc error!\n");

    exit(1);

}

4、分配好一块内存后,先初始化再用

memset(p,0,sizeof(int));

5、用完后释放

free(p);

6、释放完后再次置空(此时p重新成为野指针,要让这时的p为空)

p = NULL;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值