• 操作指针数组


    char *a[2] = {"abcdefg","iiii"};
    char *b[3];
    strcpy(b[1], a[1]);
    这样编译没错误,运行就会提示错误。
      因为b中元素仅仅是指针而已,只为存放指针名而分配了空间!就是说,当你进行这样的复制操作时,b中并不具有储存一个字符数组的空间。

      为了解决这样的问题,一个可以考虑的方法是,可以选择使用自由存储区中的空间,比如像这样在

    for(int i=0;i<3;i++)b[i] = new char[10];
    但是注意,这时b中的元素是存储在自由存储区中的,就是说需要你自己管理它们,当用完以后记得挨个删除,如
    for(int i=0;i<3;i++)delete[] b[i];

  • 相关阅读:
    数据的追踪审计
    通知模块设计
    数据库'tempdb' 的事务日志已满处理方法
    三级联动
    组合查询
    用户控件
    MDI容器
    控件说明
    winfrom
    自动生成编号
  • 原文地址:https://www.cnblogs.com/flash610/p/3070403.html
Copyright © 2020-2023  润新知