方法1:直接定义二维数组,在二维数组作为参数传递的时候要声明列数,否则出错。
void tt( char bb[][10] )
{
for (int i=0; i< 4; i++)
{
memset(bb[i],0,10);
strcpy(bb[i],"123456789");
}
return;
}
int main()
{
char aa[4][10];
tt( aa );
for (int i=0; i < 4; i++)
{
printf("%s/n",aa[i]);
}
return 0;
}
方法2:声明一个char*型数组,但是要手动给char*在堆上分配内存。之后还要删除,我还没有删除。
void tt( char* bb[] )
{
for (int i=0; i< 4; i++)
{
bb[i] = new char(10);
strcpy(bb[i],"123456");
}
return;
}
int main()
{
char* aa[4];
tt( aa );
for (int i=0; i < 4; i++)
{
printf("%s/n",aa[i]);
}
return 0;
}
方法3:在vc下可以直接定义一个CString的数组来装字符串。
void tt( CString bb[] ) //or CString * bb
{
for (int i=0; i< 4; i++)
{
strcpy(bb[i],"123456");
}
return;
}
int main()
{
CString aa[4];
tt( aa );
for (int i=0; i < 4; i++)
{
printf("%s/n",aa[i]);
}
return 0;
}