zoukankan      html  css  js  c++  java
  • 内存分配未成功,却使用了它

    内存分配未成功,却使用了它。 编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。

    常用解决办法是, 在使用内存之前检查指针是否为 NULL。

    如果指针 p 是函数的参数,那么在函数的入口 处用 assert(p!=NULL)进行检查。

    如果是用 malloc 或 new 来申请内存,应该用 if(p==NULL) 或 if(p!=NULL)进行防错处理。

     1 #include <iostream>
     2 #include <string.h>
     3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     4 using namespace std;
     5 int main(int argc, char** argv) {
     6        //拷贝字符串常量到字符数组
     7     char string[80] = "Fill the string with something";
     8     cout<<"string:"<<string<<endl;
     9     cout<<"strcpy:"<<endl;
    10     char *p=strcpy(string,"abc");
    11     cout<<"p     :"<<p<<endl;
    12     cout<<"string:"<<string<<endl;
    13     char str[80];
    14     cout<<"str:";
    15     cin>>str;
    16     p=strcpy(string,str);
    17     cout<<"p     :"<<p<<endl;
    18     cout<<"string:"<<string<<endl;
    19 
    20     //拷贝前5个字符到string中
    21     cout<<"str:";
    22     cin>>str;
    23     cout<<"strncpy:"<<endl;
    24     p=strncpy(string,str,strlen(str));
    25     cout<<"p     :"<<p<<endl;
    26     cout<<"string:"<<string<<endl; 
    27     return 0;
    28 }
  • 相关阅读:
    node异步转同步(循环)
    三级省市区PCASClass.js插件
    微信公众号基础总结(待更新)
    ES6详解
    webpack配置
    高性能 CSS3 动画
    github上传口令
    纯css3 实现3D轮播图
    优美的js代码,拿去玩~
    关于列举属性用点还是用【】
  • 原文地址:https://www.cnblogs.com/borter/p/9413650.html
Copyright © 2011-2022 走看看