おっしゃる通り、おそらくプチコンの文字列は配列、というかポインタで、文字列配列のほうはポインタの配列だと思います。 簡単のため5行目がC$="文字列"だとして、Cで書くと char *A[100000]; ←ポインタの配列 for(i=0;i<100000;i++) { char *c=malloc(strlen("文字列")+1);strcpy(c,"文字列"); // 5行目 A[i]=c; // 8行目 } 多分、こんな感じですよねー。 8行目はアドレスを代入してるだけで、メモリが確保されるのは5行目のmalloc()だけだから、Out of memoryが出るのが5行目というのはもっともです。 なので、問題は5行目に相当する「文字列用のメモリの確保」の実装にあるんじゃないかなーと思ってます m9(`・ω・´)