settingsログイン
メニュー

【解決済み】Staticとはどういう意味なのでしょうか?

閲覧 351
C言語のプログラムに、Staticという文字を書いてあるプログラムがありますがこれはどういう意味でしょうか?よろしくおねがいします
hobbyuse 2016 5/20 質問 C言語

回答 1

役立ち 0
 
ベストアンサー!
#include <stdio.h>

void staticprint()
{
    int number = 0;
    static int snumber = 0;

    number += 5;
    snumber += 5;

    printf("number = %d, snumber = %d\n", number, snumber);
}


int main()
{
    int i;

    for (i = 0; i < 5; ++i)
        staticprint();
}

このコードは下記のように出力されます

number = 5, snumber = 5
number = 5, snumber = 10
number = 5, snumber = 15
number = 5, snumber = 20
number = 5, snumber = 25

Staticで定義したsnumberは、最初に値が代入されて定義された時から、プログラムの処理が終わるまで現在の値を保持するという意味だからです(6行目の代入は1度目の代入以降は意味をなしません。)

EHD 東京都 品川区 IT技術者人材派遣

全ての回答 ホームページへ
2016 5/20 回答

プログラミング・開発言語、C言語 の企業/事業者/教室/プロの方のホームページの集客、アクセスアップ、SEO対策効果が期待できるリスティングサイト=Ask-itをぜひご活用ください

Ask IT にようこそ。ここではコミュニティメンバーに質問したり、回答を得ることができます。
ITについて質問したい方へ ITについてプロに質問したい方は会員登録後すぐに質問をする事ができます。

プロフェッショナルの方へ 質問に答えていただけるプロフェッショナルの方は下記をご覧下さい

お気づきの点があれば是非お知らせください
...