宣言と定義について
Posted: 2009年8月31日(月) 18:40
宣言と定義の違いを詳しく教えてください。(ヘッダーソースは以前の物と同様)
(ヘッダーファイル)
構造体に代入する動作のことなのでしょうか?ー>「struct variable g_va = {0, 0, 1, 1}」の部分
ある解説書では、
下のようにヘッダファイルでグローバル変数(構造体)をヘッダファイルで示し(宣言?)、
2つの .c ソースファイルから
#include "CALORIE.h"で
呼び出しているのですが、
これは"定義"にはならないのでしょうか?
[CALORIE.h]
(ヘッダーファイル)
#ifndef _MYGAME_
#define _MYGAME_
#define s_size 50
#define rank_max 10
//ゲームシステム関係の変数(構造体)
//ソースはva.[変数]の形で使用
struct variable{
short score,
level,
rank,
tp,
over,
kazu;
};
struct variable g_va = {0, 0, 1, 1};
void error(void);
void kaitou(void);
void sistem(struct variable *g_va);
#endif
"定義"というのは、この場合、ヘッダファイルで具体的な数値を構造体に代入する動作のことなのでしょうか?ー>「struct variable g_va = {0, 0, 1, 1}」の部分
ある解説書では、
下のようにヘッダファイルでグローバル変数(構造体)をヘッダファイルで示し(宣言?)、
2つの .c ソースファイルから
#include "CALORIE.h"で
呼び出しているのですが、
これは"定義"にはならないのでしょうか?
[CALORIE.h]
--略---
typedef struct _CALORIE {
char name[40];
float value;
} CALORIE;
-------