「extern変数」(2017/05/20 (土) 11:53:22) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*extern
変数は、宣言した場所でしか使えません。
例えば下のように、ヘッダーで宣言した変数はcppでは使えません
/*--------------Header.hの中身----------------*/
#pragma once
// 変数の宣言
int var;
/*-------------Source.cppの中身----------------*/
// cppは何も書かない
/*-------------main.cppの中身--------------------*/
#include <stdio.h>
#include "Header.h"
int main(){
var = 0; // Header.hで宣言したvarに代入【エラー】
printf("%d\n", var); // varを表示【エラー】
return 0;
}
上のプログラムを実行すると、エラーを吐いて実行できません。
しかし、ファイル分けしてソフトウェアを作成すると、他のヘッダーで宣言した変数を使用したいときが必ず出てきます。
そのときは &bold(){extern変数} を使います
**extern変数
extern変数は下のように使います。
/*--------------Header.hの中身----------------*/
#pragma once
// externを付けて変数の宣言
extern int var;
/*-------------Source.cppの中身----------------*/
// extern変数を初期化(ここではexternを付けない)
int var = 0;
/*-------------main.cppの中身--------------------*/
#include <stdio.h>
#include "Header.h"
int main(){
var = 0; // Header.hで宣言したvarに代入
printf("%d\n", var); // varを表示
return 0;
}
上のプログラムであれば、エラーを吐きません。
**練習問題
次のようなプログラムを書いてください。
第1問
Header.hとSource.cppを作り、Header.hの中で変数を3つ宣言して、mainで表示する。
#include(highlight)
表示オプション
横に並べて表示:
変化行の前後のみ表示: