读书人

char *有关问题

发布时间: 2013-10-11 14:52:39 作者: rapoo

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
//

读书人网 >C++

热点推荐