看板 MacDev 關於我們 聯絡資訊
大家好,我在書上看到一段程式不太了解 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