u012241729
代理舍长
2015-04-14 18:08
采纳率: 100%
浏览 5.6k
已采纳

C++动态创建不定长数组

我想通过直接输入一个任意大小的字符串来创建一个字符数组,但又不想浪费多余的空间,要怎么做到呢?新手。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • longzai1216
    longzai1216 2015-04-14 18:31
    已采纳

    char * newchar(const char * ps){
    char * prt = 0;
    if(ps){
    int nlen = strlen(ps);
    prt = new char[nlen+1];

    strcpy(prt,ps);
    }
    return prt;
    }

    点赞 评论
  • 91program
    91program 2015-04-14 23:25

    直接用指针,可以动态申请大小,且可以将指针当成数据来访问。
    如果一定要使用数组,数组的特性就决定了不可能动态分配空间,只能初始化时设定死。

    点赞 评论
  • autocyz
    autocyz 2015-04-15 01:18

    数组是没有办法动态分配存储空间的。如果想达到你的效果,可以采用指针,利用地址的动态改变来改变数组的长度

    点赞 评论
  • oyljerry
    oyljerry 2015-04-15 01:30

    根据你输入的值,用一个变量n保存,然后new char[n],就可以动态分配指定长度的数组了

    点赞 评论
  • veno813
    阿姨戏太露 2015-04-15 02:30

    直接用vector多好

    点赞 评论

相关推荐