【C Prime Plus】学習ノート、Chapter 10、配列とポインタの2
1539 ワード
//C Prime Plus, Page 656/* int marbles[10]; この配列のすべての要素の和を計算する場合、関数の可能な呼び出し形式は、int total=sum(marbles)配列名marblesがその最初の要素のアドレスであり、アドレス(ポインタ)が整数数(int)である、すなわち、形参marblesが実際に1つのアドレスを転送した場合、したがって、int*pポインタを用いて関数プロトタイプを構築することができる:従って、対応する関数プロトタイプは以下の通りである:int sum(int*ar)はもともと配列を求める和であり、ポインタで表現できるものである.
*/
int sum(int *ar)
{
int i;
int total=0;
for(i=0;i<10;i++)
total+=*(ar+i) ; // *(ar+i) , , .
// total+=ar[i], ,
// ar[i] is the same as *(ar+i)
//--
return total;
}
10もパラメータとして渡すと:
int sum(int *ar,int n)
{
int i;
int total=0;
for(i=0;i<n;i++)
total+=ar[i] ; // ar[i] is the same as *(ar+i) , C . .
//--
return total;
}
/*
, int ar[] int *ar, :
int sum(int ar[],int n);
int *ar int ar[]
, , int *ar int pointer-to-int
int ar[] int , , int
, pointer-to-int
, 4 ( , )
int sum(int *ar,int n);
int sum(int *,int);
int sum(int ar[],int n);
int sum(int [],int);
*/