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 }
  • 相关阅读:
    Spring Boot初学
    Spring MVC必须知道的执行流程
    日志Log4j使用
    SpringMVC处理中文乱码
    Maven设置阿里云镜像
    Maven项目中配置文件导出问题
    使用Limit实现分页
    web项目中设置首页
    JVM 学习笔记记录
    Python内存管理&垃圾回收机制
  • 原文地址:https://www.cnblogs.com/borter/p/9413650.html
Copyright © 2011-2022 走看看