为什么strcpy的函数签名是这样的:
char *strcpy(char *dest, const char *src);
不要使用这个?
char *strcpy(char *const dest, const char *src);
据我所知,该函数永远不会改变指针。
我是否误解了const指针的用途?在我的想法中,当我编写的函数接受一个指针且该指针不会被更改(通过realloc等),那么我会将其标记为const指针,以便调用者可以确保他们的指针不会移动。(如果他们有其他结构体/等引用该指针位置,那么这些引用将变得过时)
这样做是否可以,或者会产生意想不到的后果?
strcpy
也无法改变dest
。 - Jabberwocky