Last modified: Wed Apr 9 2025
このページは,基礎工学部システム科学科機械科学コース2年生向けの
「情報科学演習」における演習1の教材の1つです.
●ポインタを引数にする関数
さて,ポインタを引数にする関数の作り方は,
宣言→ 型名 関数名(型名 *仮引数名, ...);
定義→ 型名 関数名(型名 *仮引数名, ...) {...}
となる.
(例)
void
f(int *p)
{
*p = 7;
}
これで,引数で指示された場所に7が代入される.
(例)
void
f(int x)
{
x = 7;
}
2つの違いをよく理解しよう.
ポインタ引数の例として,2つの整数型の変数の内容を交換するという例を示す.
- void swap(int *px, int *py)
- 呼び出し側の変数の値を変更できる例.
ポインタを引数にするので,
関数側で呼び出した側の値を変更することができる.
- void xswap(int x, int y)
- 呼び出し側の変数の値を変更できない例.
上の例とよく似ているが,値を引数にしているので,
関数側で仮引数に対して代入をしても,呼び出し側には影響しない.
[演習1のインデックス]
[前の教材(ポインタの基本)]
[次の教材(配列とポインタ)]