配列の存続期間について混乱してmyname
いますが、ステートメントからはまだ生きていif
ますか?cとc ++で同じ答えが得られますか?
int main (int argc, char* argv[])
{
char* host;
if (1 == argc)
{
/*code below is copied from a book*/
char myname[256];
gethostname(myname, 255);
host = myname;
/*code above is copied from a book*/
}
else
{
/* */
}
printf("%s\n",host);
return 0;
}
編集:
コードスニペットはBegining Linux Programming 4th edition
、第15章:ソケットという本からのものです。著者がそのような間違いを犯したことをお詫び申し上げます。しかし、このコードを除外すると、この本は良いと思います。