陣列傳遞引數的話,如果直接傳指標過去。對陣列引數的操作會改變原始變數的值。如果不想影響原始變數的話,需要在函式裡面定義新的區域性陣列變數。賦值給區域性陣列變數,對區域性陣列變數進行操作。
程式結果:#include #include #include int setarray(char *array)
int setarrayb(char *array)
; memcpy(arrayb, array, 2);
arrayb[0]++;
arrayb[1]++;
printf("arrayb[0] = %d\n", array[0]);
printf("arrayb[1] = %d\n", array[1]);
return 0;
}int printarray(char *array)
int main();
setarrayb(array);
printarray(array);
setarray(array);
printarray(array);
getchar();
return 0;
}
c語言 關於陣列名作引數傳遞問題
本文以 int 型為例,以函式func為例 1 int iexama 定義乙個整型數 2 int pexamb 定義乙個指向整型數的指標 3 int iexamc 4 定義乙個一維陣列 4 int pexamd 5 定義乙個陣列,陣列的每個元素是 指向整型數 的指標 5 int iexame 6 7...
c語言 函式傳遞陣列問題
題目 定義乙個函式,使用二維陣列作為傳入引數,在主函式中輸入4 4的二維陣列,呼叫已定義的函式,把該矩陣傳入,在主函式中輸出結果。函式功能 使二維陣列中兩條對角線上的元素均為1,其餘元素均為0。解 include include intdiagonal assignment int a 4 4 el...
C語言引數傳遞
c 語言引數傳遞方式有傳值和傳位址兩種方式。1 傳值方式 原理 形參和實參佔不同記憶體單元,傳遞的實際上是實參變數或表示式的乙個拷貝副本,將這個副本值傳給形參,形參記憶體單元內容儲存的正是這個副本值,相當於給形參進行初始化,形參的值發生變化也不會傳回給實參,因此是單向傳遞。例如 void incre...