何か奇妙なことが起こっていることに気付いたとき、私はちょうどポインターで遊んでいました。たとえば、strcpyを使用して文字列srcを別の文字列dstにコピーする場合は常に、 srcに必要なスペースを割り当てる必要があることを認識しています。
char *dst,*src = "asdlskafksdhfklshfkshdkfhksdhfçsahdflçsdhfçklshadfç";
dst = (char*)malloc(1); //only one char allocated
strcpy(dst,src);
printf("dst=%s.\n",dst);
このコードは実行しないでください。しかし、それは起こっていません。コードが実行され、srcがdstに正常にコピーされ、 dstがチャームのように出力されます。誰か、なぜこれが起こっているのか説明してもらえますか?