我寫了一個小測試程序來看看我可以如何將一個指向字符數組的指針傳遞給一個函數。這是我的代碼:傳遞一個指向char數組的指針c
#include <stdio.h>
#include <string.h>
int scopy(char *org){
printf("the value of org is %s" , org);
printf("\n");
}
int main(void)
{
char original[11];
strcpy(original , "helloworld");
scopy(original);
printf("the value of original now is %s" , original);
return 0;
}
我指針的知識告訴我,組織是傳遞的原始[0],當我執行這個節目,我觀察到,混淆了我的幾件事情的內存地址的指針和已經讓我懷疑我所瞭解的有關指針的事實。
當我打印org時,我得到完整的單詞。但根據邏輯指針是不是應該打印出內存地址;
當我嘗試打印出來了[1],出來[2],鍵盤告訴我,過程異常結束
我在這個問題的根本的疑問是究竟是什麼組織做的,我明白這是一個字符指針指向一個內存地址(哪??)。任何幫助,將不勝感激 。我對c編程非常陌生。
此外,當我試圖像
while(out[i] !='\0')
printf("%s",out[i]);
它不會在 '\ 0' 終止while循環。 strcpy文檔聲明'\ 0'被複制到char數組中。