C言語の館のソースのある部分がわかりません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: C言語の館のソースのある部分がわかりません

Re: C言語の館のソースのある部分がわかりません

#7

by cupa » 2年前

externとGLOBALは何が違うのでしょうか?

Re: C言語の館のソースのある部分がわかりません

#6

by cupa » 2年前

externとGLOBALは機能自体は同じなのでしょうか?

Re: C言語の館のソースのある部分がわかりません

#5

by みけCAT » 2年前

cupa さんが書きました:
2年前
GLOBAL=externなのではないのでしょうか?別物なのでしょうか?
はい、別物ですね。
extern はC言語の予約語であり、ユーザが定義しなくても使えます。
GLOBAL はただの識別子であり、ユーザが定義(または宣言)しないと使えません。
cupa さんが書きました:
2年前
また、調べたらところ、staticやexternが付与されていない場合はデフォルトでexternがついたのと同じ、
ということらしいのですが・・・
cupa さんが書きました:
2年前
後半の(また、~)部分については関数の場合です
GLOBAL は関数でないもの(変数)について使われていますよね?

Re: C言語の館のソースのある部分がわかりません

#4

by あたっしゅ » 2年前

東上☆海美☆「
> #endifがプログラムの最後に書いていないのは何故でしょうか、
> これじゃあインクルードガードになっていないのではないのでしょうか?

インクルードガードじゃないみみ。

Re: C言語の館のソースのある部分がわかりません

#3

by cupa » 2年前

あともう2つ、一番はじめの行に他ファイルがインクルードされていたのですが、なぜfunction.hだけ#endifのあとに書いてあるのでしょうか?

#endifがプログラムの最後に書いていないのは何故でしょうか、これじゃあインクルードガードになっていないのではないのでしょうか?

Re: C言語の館のソースのある部分がわかりません

#2

by cupa » 2年前

後半の(また、~)部分については関数の場合です

C言語の館のソースのある部分がわかりません

#1

by cupa » 2年前

度々失礼します。

C言語の館の

コード:

#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern 
#endif

#include "function.h"
*GV.h

この部分がよくわかりません。

館では『「GLOBAL_INSTANCEが定義されていればGLOBALという文字は空白に置き換えられる」
「GLOBAL_INSTANCEが定義されていなければGLOBALという文字はexternに置き換えられる」
』とありますが、GLOBAL=externなのではないのでしょうか?別物なのでしょうか?
また、調べたらところ、staticやexternが付与されていない場合はデフォルトでexternがついたのと同じ、
ということらしいのですが・・・

ページトップ