Relative Content

Daily Archives: June 20, 2016

6.2 関数から値を返す

ある関数が別の関数を呼び出して、呼び出した関数に制御が戻って来た時に、関数によっては値が返ってくるものがあります。 関数から値を返すには、関数の戻り値の他に、ポインタを使って、関数から呼び出し側の領域を書き換えるも可能です。 値を関数戻り値で返す 関数の定義 戻り値の型 関数名(パラメータリスト) { 文 … } 関数の戻り値で返す。 この方法では、常に1つの情報しか返すことが出来ません。 2つ以上の情報を返したい時などは不便です。 値を引数の配列に返す 配列の先頭要素のアドレスを引数にして、上位関数側と下位関数側で配列を共有し、見かけ上、複数のデータを返したようにします。 #include <stdio.h> void waru2(int *p); int main(void) { int i; int dt[] = { 20, 10, 4, 35, 66, 78, -1 }; waru2(dt); /* 配列の先頭要素のアドレスを渡す */ for(i = 0; dt[i] != -1; i++) { printf(“%d “, dt[i]); } printf(“\n”); return […]