私は C が初めてで、2D 配列を初期化しようとしています。文字列値が含まれるため、配列の両方の列を char * にする必要があります。
intを格納する配列を操作していますが、何らかの理由で、印刷時に文字列値を格納しようとすると、(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]);
ご協力いただきありがとうございます。