C言語 関数ポインタ渡し:基本と実践【サンプルコード付き】
C言語では、関数のパラメータをポインタを使って渡すことで、外部変数の変更ができます。具体的な手順は以下の通りです。
- 指定された変数を変更するためのポインタ型パラメータを持つ関数を定義します。
- 関数内で変数の値をポインターを使って変更する。
- 関数を呼び出す際に、変更する必要がある変数のアドレスをパラメータとして渡す。
サンプルコードは以下の通りです。
#include <stdio.h>
// 定义一个函数,通过指针修改变量的值
void modifyValue(int *ptr) {
*ptr = 10; // 修改指针指向的变量的值为10
}
int main() {
int num = 5;
printf("Before calling function: %d\n", num);
// 调用函数并传递变量的地址作为参数
modifyValue(&num);
printf("After calling function: %d\n", num); // 输出修改后的值
return 0;
}
上記の例では、変数numのアドレスを引数としてmodifyValue関数を呼び出し、関数内でポインタを使用してnumの値を10に変更しました。結果は、最終的には10になります。
Before calling function: 5
After calling function: 10