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 }
  • 相关阅读:
    分治思想
    二分查找---查找区间
    二分查找---有序数组的 Single Element
    Ogre碰撞检测
    JavaScript常用检测脚本(正则表达式)
    Js+XML 操作
    C++难点的一些总结
    MFC使用简单总结(便于以后查阅)
    vc中调用Com组件的所有方法详解
    OSG+VS2010+win7环境搭建---OsgEarth编译
  • 原文地址:https://www.cnblogs.com/borter/p/9413650.html
Copyright © 2011-2022 走看看