[536] Re:reallocについて
投稿者:まきじ
2007/02/20 02:13:25
#include<stdio.h>
#include<stdlib.h>
typedef struct{
char cString[50];
char **cpItem; /* ポインタのポインタにする*/
}typChangePrm;
int main(void){
typChangePrm data;
char str[]="hoge";
int i;
/* 10 個の要素を持つポインタの配列を確保 */
data.cpItem = realloc(NULL,sizeof(char*) * 10);
for(i = 0;i < 10; i++){
/* *(data.cpItem + i) に 64 個 の要素を持つ char 型の配列を確保 */
*(data.cpItem + i) = realloc(NULL,sizeof(char) * 64);
strcpy(*(data.cpItem + i),str);
}
for(i = 0;i < 10; i++) printf("%s\n",*(data.cpItem + i));
strcpy(str,"foo");
/* ポインタの配列の要素数を 20 個に変更 */
data.cpItem = realloc(data.cpItem,sizeof(char*) * 20);
for(i = 0;i < 20; i++){
/* *(data.cpItem + i) に 64 個 の要素を持つ char 型の配列を確保 */
*(data.cpItem + i) = realloc(NULL,sizeof(char) * 64);
strcpy(*(data.cpItem + i),str);
}
for(i = 0;i < 20; i++) printf("%s\n",*(data.cpItem + i));
return 0;
}