このコードは完全に機能していることがわかりました。
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
char* s; /* input string */
s=malloc(sizeof(s));
int c;
if(argc==1){ // if file name not given
while (gets(s)){
puts(s);
}
}
}
私が理解していないのは、文字列 s がメモリにどのように格納されているかということです。4 バイトのポインタ s にのみメモリを割り当てています。ユーザーが指定した入力文字列はどこに格納されますか?