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

関数めんどくさい。。。

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

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

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

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

#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   /* ローカル変数 */

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

以上です。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!