我有一个关于 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)
现在,第一行输出对我来说似乎很清楚。但是第二行让我感到困惑。为什么它将 strTrim 的指针复制到 str2 ?我真的不明白。