C 語言 講義  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B C

自訂函數的參數傳遞

比較   函數 - 傳值     函數 - 傳址     函數 - 傳參考  
簡單易寫 藉由傳遞地址來改變主程式的變數的值,
以達到傳回多個數值的目地。
寫法類1,效果同2
常用於 一般傳遞 1.傳遞陣列的起始位址
2.傳遞被改變的變數的地址
 
int cal1(int a,int b,int c)
{
return a+b+c;
}

void main()
{
int sum,a[3]={1,2,3};
sum = cal1(a[0],a[1],a[2]);
cout << sum ;
}
int cal1(int *b)
{
*b = 10;
return *b+*(b+1)+*(b+2);
}

void main()
{
int sum,a[3]={1,2,3};
sum = cal1(a);
cout << sum ;
}
int cal1(int &a,int &b,int &c)
{
a = 10;
return a+b+c;
}

void main()
{
int sum,a[3]={1,2,3};
sum = cal1(a[0],a[1],a[2]);
cout << sum ;
}

函數間 - 傳值、傳址、傳參考,可混用,例:int cal1(int a,int *b,int &c)

 

比較   陣列的正常用法     陣列的指標用法  
常用於 同一函數下的使用 把陣列的起始位址交給別人,
以達到別人可使用這個陣列的目地
void main()
{
int sum,a[3]={1,2,3};
sum = a[0]+a[1]+a[2];
cout << sum ;
}
int cal1(int *b)
{
*b = 10;
return *b+*(b+1)+*(b+2);
}

void main()
{
int sum,a[3]={1,2,3};
sum = cal1(a);
cout << sum ;
}

 

 

比較 字串(字元陣列)的正常用法 字串(字元陣列)的指標用法
常用於    
   

 

 

C 語言 講義  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B C