next up previous contents
Next: 参照呼び出し Up: 値呼び出しと参照呼び出し Previous: 値呼び出しと参照呼び出し   Contents

値呼び出し

値呼び出しは、参照された関数の中で、その引き数の値を 自動変数にコピーして使用するので、関数内部で値を変更しても、呼び出した側には何 も影響を与えない。 ただし、実引き数の型と個数は一致しなければならない。 呼び出した側に影響を与えないことを次のプログラムで示す。


#include <stdio.h>
void func(int );
void main(){
int i;
i = 0;
printf("i in main begfore calling func = %d\n", i);
func(i);
printf("i in main after calling func = %d\n", i);
}
void func(int i){
i++;
printf(" i in func after incriment = %d\n", i);
}

実行すると画面には次のように出力される。

i in main begfore calling func = 0
i in func after incriment = 1
i in main after calling func = 0

変数iの値は、関数func中では変化するが、関数の外(main)では変化しないことが わかる。この性質は、関数の独立性を高める上で有効である。



kojima hirohisa
2001-03-05