首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

char *有关问题

2013-10-11 
char **问题函数f中,定义size个一维动态数组f(char **A){A new char*[size]for(int i 0 i size i

char **问题
函数f中,定义size个一维动态数组


f(char **A)
{
   A = new char*[size];
   for(int i = 0; i < size; i++)
   {
       A[i] = new char[10];
   }

   delete [] A;
}

int main()
{
   char **A = NULL;
   f(char **A);
}

该函数的功能是,返回A[i]中的内容,这么写不对,应该这么传这个参数呢?
[解决办法]
#include <stdio.h>
void f(char ***a,int r,int c) {
    (*a) = new char*[r];
    for (int i=0;i<r;i++) (*a)[i] = new char[c];
}
int main() {
    char **A;
    int i,j;

    f(&A,3,4);

    for (i=0;i<3;i++) {
        for (j=0;j<4;j++) {
            A[i][j]='A'+i*4+j;
        }
    }

    for (i=0;i<3;i++) {
        for (j=0;j<4;j++) {
            printf("%c",A[i][j]);
        }
        printf("\n");
    }

    for (i=0;i<3;i++) delete[] A[i];
    delete[] A;

    return 0;
}
//ABCD
//EFGH
//IJKL
//

热点排行