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

GOISBLOG

medium_10722128675

C言語

C言語でグローバル変数とローカル変数の違い

投稿日:2014年11月5日 更新日:

関数めんどくさい。。。

細かいです。
変数を定義して数値を入れたり出したり、「引数」を設定したり、「戻り値」を設定したり。。。

今回は関数のグローバル変数とローカル変数の違いを設定値を見ていきながらメモしていきます。

グローバル変数とローカル変数の違いを理解する

グローバル変数の名称と、ローカル変数の名称は同じにすることが可能です。
以下で設定しているように、変数の名称が同じ場合、「ローカル変数」が有効になります。

#include <stdio.h>

int var = 0;        /* グローバル変数 */
int main (void)
{
    int var = 100;     /* ローカル変数 */
    printf("varの値:%d",var);
    return 0;
}

ローカル変数の値が有効なので、処理後の値は「100」となります。

varの値:100
スポンサーリンク


ローカル変数内のローカル変数

はい。きました。めんどくさいです。
次はローカル変数内のブロックにさらに同じ名称のローカル変数を宣言するとどうなるかって動きです。

以下の設定はローカル変数のブロック内のif文にさらにローカル変数を描いた際の処理となります。
ローカル変数内のブロック内で同じ名称のローカル変数を宣言した変数が有効になります。

#include <stdio.h>

int var = 0;        /* グローバル変数 */
int main (void)
{
    int var = 100;    /* ローカル変数 */
    if (var == 100){
        int var = 0;   /* if文の中のローカル変数 */
        printf("varの値:%d\n",var);
    }
    printf("varの値:%d\n",var);
    
    return 0;
}
varの値:0   /* if文の中のローカル変数 */
varの値:100   /* ローカル変数 */

ここまで来てなんですが、名称が同じ変数を複数使用するとプログラムが見にくくなってしまうため、できるだけ同じ名称の変数は書かないようにしましょう。

新版 明解C言語 入門編
新版 明解C言語 入門編
posted with amazlet at 14.11.04
柴田望洋
ソフトバンククリエイティブ
売り上げランキング: 7,041

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

Twitter で
スポンサーリンク

-C言語
-

Copyright© GOISBLOG , 2016 AllRights Reserved.