malloc是我的大麻烦,一不小心就栽倒

本文介绍了C语言中如何进行动态内存分配,通过一个具体的函数示例讲解了如何为字符串分配内存,并强调了指针理解、变量作用域及良好内存管理的重要性。
int MinNextStr(const char* src,char* &minnext)
{   
      int srclen=strlen(src);    
      minnext=(char*)malloc((srclen+1)*sizeof(char));    
      if(minnext==NULL)    {
                      
                      return -1;    

      }
}
  1. 将源字符串加const,表明其为输入参数
  2. 使用指针引用(char* &minnext),防止因为局部变量生存期的问题导致内存被释放
  3. strlen函数在计算字符串的时候会忽略'\0',所以在声明一段长度等于src的空间时,记得加1哦
  4. 判断内存是否申请成功
if(minnext==NULL){
          return -1;
}

 

 对内存操作的考查主要集中在:
  (1)指针的理解;
  (2)变量的生存期及作用范围;
  (3)良好的动态内存申请和释放习惯。

转载于:https://www.cnblogs.com/scar-xd/p/3338885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值