程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C語言基礎教程(五)函數(4)

C語言基礎教程(五)函數(4)

編輯:C語言基礎知識

2.2 函數參數傳遞

一、調用函數向被調用函數以形式參數傳遞
用戶編寫的函數一般在對其說明和定義時就規定了形式參數類型,因此調用這些函數時參量必須與子函數中形式參數的數據類型、順序和數量完全相同,否則在調用中將會出錯,得到意想不到的結果。
注意:
當數組作為形式參數向被調用函數傳遞時,只傳遞數組的地址,而不是將整個數組元素都復制到函數中去,即用數組名作為實參調用子函數,調用時指向該數組第一個元素的指針就被傳遞給子函數。因為在Turbo C2.0中,沒有下標的數組名就是一個指向該數組第一個元素的指針。當然數組變量的類型在兩個函數中必須相同。
用下述方法傳遞數組形參。
例2:
#include<stdio.h>
void disp(int *n);
int main()
{
int m[10], i;
for(i=0; i<10; i++)
m[i]=i;
disp(m); /*按指針方式傳遞數組*/
getch();
return 0;
}
void disp(int *n)
{
int j;
for(j=0; j<10; j++)
printf("%3d", *(n++));
printf("\n");
}
另外,當傳遞數組的某個元素時,數組元素作為實參,此時按使用其它簡單變量的方法使用數組元素。例2按傳遞數組元素的方法傳遞時變為:
#include<stdio.h>
void disp(int n);
int main()
{
int m[10], i;
for(i=0; i<10; i++){
m[i]=i;
disp(m[i]); /*逐個傳遞數組元素*/
}
getch();
return 0;
}
void disp(int n)
{
printf("%3d\t");
}
這時一次只傳遞了數組的一個元素。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved