[問題] 傳陣列指標

看板MacDev作者 (盧小小)時間10年前 (2014/01/09 23:09), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/3 (看更多)
大家好,我在書上看到一段程式不太了解 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

01/10 09:19, , 1F
是指向某個字沒錯
01/10 09:19, 1F
※ 編輯: ishuen 來自: 211.76.64.223 (01/10 10:41)

01/11 03:29, , 2F
是只能指某個chat沒錯,但每一次會 ++指標,指到下一個char,
01/11 03:29, 2F

01/11 03:29, , 3F
最後再將to加上結束符號,另外for最好還是用括弧包住
01/11 03:29, 3F
文章代碼(AID): #1IphkTBo (MacDev)
文章代碼(AID): #1IphkTBo (MacDev)