Advertisement

指向字符串常量 和 指向字符串的指针

阅读量:

在编写模拟实现strcpy函数的过程中,当尝试对目标字符串进行修改时,出现了编译错误。

void my_strcpy(char *dest,const char * str)
{
assert(str != NULL);
while (*dest++ = *str++)
{
;
}
}
int main()
{
char str1[50] = "hello world";
char str2[] = { 0 };
char *str3 = "123456789";
my_strcpy(str2, str1);
my_strcpy(str3, str1);
printf("%s\n", str2);
printf("%s\n", str3);
system("pause");
return 0;

}

这段代码在第一次复制完成后可以正常打印结果,但在第二次调用时却无法通过编译。查阅相关资料后了解到:

指向 "字符串常量" 的指针与指向字符串的"常量指针"之间存在区

全部评论 (0)

还没有任何评论哟~