値による引き数の受け渡し

非参照パラメーターに対応する引き数を使用 して関数を呼び出す場合、値によってその引き数を渡したことになります。パラメーターは、引き数の値を使用して初期化されます。 関数のスコープ内のパラメーターの値を変更することができます (そのパラメーターが const と宣言されていなければ)。 ただし、これらの変更は、呼び出方の関数の引き数の値には、影響しません。

以下は、値による引き数の受け渡しの例です。

次のステートメントは、関数 printf を呼び出します。 この関数は、文字ストリングと、(a および b の値を受け取る) 関数 sum からの戻り値を受け取ります。

printf("sum = %d¥n", sum(a,b));

以下のプログラムは、count の値を関数 increment に渡します。関数は、パラメーター x の値を 1 ずつ増や します。

/**
 ** An example of passing an argument to a function
 **/
 
#include <stdio.h>
 
void increment(int);
 
int main(void)
{
  int count = 5;
 
  /* value of count is passed to the function */
  increment(count);
  printf("count = %d¥n", count);
 
  return(0);
}
 
void increment(int x)
{
  ++x;
  printf("x = %d¥n", x);
}

出力は、maincount の値が未変更のままである ことを示しています。

x = 6
count = 5

関連参照

IBM Copyright 2003