我是 C 新手,正在尝试初始化一个二维数组。我需要数组的两列都是 char *,因为它们将包含字符串值。
我让它与存储整数的数组一起工作,但由于某种原因,当我尝试在打印时存储字符串值时,它显示(null)
. 下面是我如何初始化数据并将数据存储为 int 的代码(这似乎有效)。
int **array;
int row = 0;
array = malloc(2 * sizeof(int*));
int i;
for (i = 0; i < 2; i++)
{
array[i] = malloc(2 * sizeof(int));
}
array[0][0] = i;
array[0][1] = i;
printf("array[0][0]: %i\n", array[0][0]);
下面是我如何执行上述操作,但使用字符串值。
char **array;
int row = 0;
array = malloc(2 * sizeof(char*));
int i;
for (i = 0; i < 2; i++)
{
array[i] = malloc(2 * sizeof(char*));
}
array[0][0] = "Test[0][0]";
array[0][1] = "Test[0][1]";
printf("array[0][0]: %s\n", array[0][0]);
感谢您的任何帮助,您可以提供。