想把一个字符串s变量变成16进制字符数组b[],数组的长度根据字符串的长度而定,那这个长度就是个变量,这个数组b[]怎么定义呢?

解决方案 »

  1.   

    数组是静态数据结构,在编译的时候已经决定了他的大小
    如果你需要变长的数组结构,可以考虑使用STL中的vector,list容器
      

  2.   

    你要只想动态创建数组长度,为何不用STL里面的容器,vector , list 等都可以达到你的目的,而且使用起来也很方便。
     还有字符数组的长度不可以用变量去定义,类似以这样
    void Array()
    {
      int nLen = 10;
      int nArray[nLen];
      这样的定义编译器是不会通过的,所以建议LZ不要在这个问题上费神了,直接使用容器吧,呵呵。快速便捷
    }
      

  3.   

    malloc 动态分配控件int i = 100;
    int* b;
    b = (int*)malloc(100*sizeof(int));
      

  4.   

    不能。
    除了用动态分配内存外,你也可以选择C++的string类
      

  5.   

    不可以 用stl容器 方便安全