知道一维长度就直接new
都不知道就先new一个指针数组,然后给每个指针new

解决方案 »

  1.   

    char **p;
    for(int i=0;i<10;i++){
      (p+i)=(char**)malloc(sizeof(char*));
    }for(int j=0;j<10;j++){
      p[j]=(char*)malloc(sizeof(char)*100);
    }然后你就有了一个p[10][100];并且,如果你愿意,可以随便增加或释放!
    其实这个问题前几天刚有人问过.
      

  2.   

    谢谢各位,to iamshuke():如果用这种方法处理一个很大的二为数组(比如10k*10k),会不会出现问题?也就是说锥内存会不会不够用。
      

  3.   

    不好意思,大错特错了,应为:
    char **p;
    p=(char**)malloc(sizeof(char*)*10);for(int j=0;j<10;j++){
      p[j]=(char*)malloc(sizeof(char)*100);
    }