动态分配空间和避免野指针的程序

动态分配空间和避免野指针的程序

1.环境:

[root@localhost 20120721_1]# cat /proc/version 
Linux version 2.6.32-220.el6.i686 (mockbuild@x86-003.build.bos.redhat.com) (gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed Nov 9 08:02:18 EST 2011

2.程序:

/*
 *wuxiuwen
 *Dynamic allocate memory space and avoid wild pointer
 *
 */

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(void)
{
        char str1[] = "123456789";
        char str2[] = "45";

        int n = 100;
        int d = 20;
        n += d;

 //     calloc(3,50);//3*malloc(50);
        char *p = (char *)malloc(10*sizeof(char));

 //     p = (char *)realloc(p,n--);

        strcpy(p,"123456789");

        free(p);
        p = NULL;
        if(p != NULL)
        {
                strcpy(p,"abcde");
                printf("%s\n",p);
        }
        //      printf("%p\n",strstr(str1,str2));
}

3.说明

1)动态内存分配:malloc,calloc,realloc等;(另外的进行说明);

2)p指针,此处空间释放后,还进行操作,虽然还有该空间,但是这样操作会产生很大问题,free后,这个指针就变成了野指针。但是该处进行了赋值null,避免了这个情况。

3)这个程序主要说明动态分配空间和释放,同时避免野指针。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值