C++スコーラ
extern変数
最終更新:
cschola
-
view
extern
変数は、宣言した場所でしか使えません。
例えば下のように、ヘッダーで宣言した変数はcppでは使えません
例えば下のように、ヘッダーで宣言した変数は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; }
上のプログラムを実行すると、エラーを吐いて実行できません。
しかし、ファイル分けしてソフトウェアを作成すると、他のヘッダーで宣言した変数を使用したいときが必ず出てきます。
そのときは extern変数 を使います
そのときは 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で表示する。
第1問
Header.hとSource.cppを作り、Header.hの中で変数を3つ宣言して、mainで表示する。
include_js plugin Error : このプラグインで利用できない命令または文字列が入っています。