我正在尝试通过以下方式分配一个二维字符串数组:
char *text_data[10][4]; //10 rows, 4 columns
//All rows need to be same
for (i = 0; i < 10; i++)
{
strcpy(text_data[i][0], "a");
strcpy(text_data[i][1], "xyz");
strcpy(text_data[i][2], "b");
strcpy(text_data[i][3], "xyz");
}
但是,这不起作用。我做错了什么?
最佳答案
strcpy 只会复制到预分配的缓冲区,所以试试这个
char text_data[10][4][4];
如果你有一个 double 字符串数组,你实际上有一个三重数组,因为字符串是一个字符数组。
关于c - 使用 char * 分配二维字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18000222/