c - 使用 char * 分配二维字符串数组

标签 c arrays string

我正在尝试通过以下方式分配一个二维字符串数组:

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/

相关文章:

c# - 邮件消息类

mysql - 具体拆分记录(字符串)为若干字段

php - 有两个数组的foreach循环

python - 如何用python中文件中的数据填充数组

arrays - 如何返回并显示保存到数据库 laravel 的 json 数据

c - 从命令行读取参数时出现段错误

c - 无法将指向字符的指针分配给字符数组

c - 使用宏初始化通过引用传递的结构

c++ - MPI_Bcast : how to ensure that "correct" root is broadcasting 有困难

c - 惰性求值中的原语函数类型