我看到這個代碼:爲什麼不在反轉字符串時使用指針指針?
void reverse_string(char *str)
{
/* skip null */
if (str == 0)
{
return;
}
/* skip empty string */
if (*str == 0)
{
return;
}
/* get range */
char *start = str;
char *end = start + strlen(str) - 1; /* -1 for \0 */
char temp;
/* reverse */
while (end > start)
{
/* swap */
temp = *start;
*start = *end;
*end = temp;
/* move */
++start;
--end;
}
}
而且我不明白爲什麼一個指針的指針是不是在傳遞給函數。如果在函數內部創建了傳入指針的副本,那麼如何反轉呢?這些變化如何在外部傳播?
想想指針指向什麼。這個地方在這個函數和調用者中是一樣的。 – nos 2013-02-10 23:00:23