ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

C言語

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

更新日:

関数めんどくさい。。。

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

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

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

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

#include <stdio.h>

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

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

varの値:100

TVでも話題になった自宅で無料でオンラインブートキャンプが体験できるようになりました!
※資料ダウンロード(無料)はこちらから!
【CodeCamp(コードキャンプ)】公式案内



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

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

以下の設定はローカル変数のブロック内の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エンジニアで就職するならこちらのサイトがおすすめです!
【レバテックキャリア】



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

Twitter で



  • この記事を書いた人
  • 最新記事

ネットワークエンジニアとしてまた一児の父として仕事とブログ作成に奮闘中! 自分の身の回りにある興味、趣味をひたすらブログで書きまとめています! 私の子供も発達障害のこともあるので色々調べたことなどアップして少しはお役に立てたらと思っております!

-C言語
-

Copyright© GOISBLOG , 2017 All Rights Reserved.