ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

C言語

C言語で関数の引数の動きをまとめる

投稿日:2014年10月31日 更新日:

関数を呼び出す際に、関数へ値を渡すことができます。
この値のことを「引数」や「実引数」と呼びます。

関数を呼び出して引数を渡す場合、関数に引数を受けるための変数定義を記述することを仮引数って呼びます。

ここから、ちょいちょいとめんどくさくなってきましたが、一つ一つ確実にやっていきましょう。

関数での引数の動き

冒頭でも説明したように関数を呼び出す際に値を関数へ渡すことを「引数」といいます。
以下の構文ではまず、プロトタイプ宣言で関数を宣言し、メインで関数を呼び出す際に値(10)を渡します。

ここで注意することはプロトタイプ宣言で宣言した「void」ですが、これは頭に入れといてください

voidは戻り値がない場合に使用する!!

#include <stdio.h>

void kansu(int ope);    /* プロトタイプ宣言 */

int main(void)
{
    kansu(10);          /* 関数の呼び出しと関数に(10)の値を渡す */
    return 0;
}

void kansu(int ope)     /* 関数の本体の定義 */
{
    printf("計算結果:%d\n",ope * ope);
}
計算結果:100

引数で渡された値(10)を関数で処理し、出力結果として「100」の値を出しました。

これが、引数の使い方になります。

スポンサーリンク


引数を複数にした関数の動き

引数は複数指定することができます。
特にこれといって難しくはなく関数の宣言時に「,」で引数を複数作成するイメージとなります。

以下は複数の引数を使用した例となります。

#include <stdio.h>

void kansu(int num1,int num2);         /* プロトタイプ宣言 */

int main(void)
{
    kansu(5,10);       /* 関数の呼び出し */
    return 0;
}
void kansu(int num1,int num2)
{
    printf("%d\n",num1);      /* 引数(num1)を出力 */
    printf("%d\n",num2);      /* 引数(num2)を出力 */
}
5
10

戻り値と引数を使った関数の動き

次は関数に「引数」を渡し、関数で処理した後、呼び出し元に処理した値を渡すことができます。
これを「戻り値」といいます。

そしてここがポイント。

戻り値があるので「void」ではなく、「int」を使用する!

ってな感じです。

そして構文の例を以下に書きました。

#include <stdio.h>

int kansu(int ope);         /* プロトタイプ宣言 */

int main(void)
{
    int num = 5;            /* 変数を定義 */
    printf("呼び出し前のnum:%d\n",num);
    num = kansu(num);       /* 関数の呼び出し */
    printf("呼び出し後のnum:%d\n",num);
    return 0;
}
int kansu(int ope)
{
    return(ope * ope);      /* 戻り値の設定 */
}
呼び出し前のnum:5
呼び出し後のnum:25

こんな感じで関数の「引数」と「戻り値」の動きをまとめてみました。

新版 明解C言語 入門編
新版 明解C言語 入門編

posted with amazlet at 14.10.30
柴田望洋
ソフトバンククリエイティブ
売り上げランキング: 15,847

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-C言語
-,

Copyright© GOISBLOG , 2016 AllRights Reserved.