strcpy() について質問があります。私の理解では、 strcpy はポインター自体ではなく、ポインターにあるバイトをコピーすると思いました。しかし、このコード スニペットの反応は異なるようです。
char* str2 = (char*) malloc(50) ;
printf("str2:%d (%p), strTrim:%d (%p)", strlen(str2),*str2,strlen(strTrim),*strTrim) ;
strcpy(str2,strTrim);
printf("str2:%d (%p), strTrim:%d (%p)", strlen(str2),*str2,strlen(strTrim),*strTrim) ;
私が得る出力は次のとおりです。
str2: 64 (FFFFFFCD) , strTrim:8 (00000061)
str2:8 (00000061) , strTrim:8 (00000061)
さて、最初の出力行はかなり明確に見えます。しかし、2行目は私を混乱させます。strTrim のポインタを str2 にコピーするのはなぜですか? 私は本当にそれを取得しません。