作者ishuen (盧小小)
看板MacDev
標題[問題] 傳陣列指標
時間Thu Jan 9 23:09:15 2014
大家好,我在書上看到一段程式不太了解
void copyString(char *to, char *from)
{
for ( ; *from != '\0'; ++from, ++to)
*to = *from
*to = '\0';
}
int main (int argc, char * argv[])
{
@autoreleasepool{
char string1[] = "A string to be copied.";
char string2[50];
copyString(string2, string1);
NSLog(@"%s",string2);
}
return 0;
}
我想問在main裡面
傳了兩個character string給copyString
書上說實際上是傳了兩個string的pointer過去
可是copyString的參數pointer
不是只能指向character string裡的某個字嗎?
像是char *from = &string1[0];
但是為什麼這兩個pointer可以用來代表兩個string?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.64.223
→ howdiun:是指向某個字沒錯 01/10 09:19
※ 編輯: ishuen 來自: 211.76.64.223 (01/10 10:41)
推 ckvir:是只能指某個chat沒錯,但每一次會 ++指標,指到下一個char, 01/11 03:29
→ ckvir: 最後再將to加上結束符號,另外for最好還是用括弧包住 01/11 03:29