|
>ポインタ配列を以下のように宣言し前の情報は保持したまま拡張したい
>のですが、どのようにしたらよいですか?
realloc()でしょうね。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char **array;
int i;
/* arrayをchar型のポインタを1つだけ入れられる配列にする */
if ((array = (char **)malloc(sizeof(char *))) == NULL) exit(1);
array[0] = "QAAAAA";
puts(array[0]);
/* arrayをchar型のポインタを3つ入れられる配列にする */
if ((array = (char **)realloc(array, sizeof(char *) * 3)) == NULL) exit(1);
array[1] = "QBBBBB";
array[2] = "QCCCCC";
for (i = 0; i < 3; i++) puts(array[i]);
free(array);
return 0;
}
|