定義

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

定義

#1

投稿記事 by notta » 16年前

定義ってどうやって作るんですか、教えてください。

Dixq (管理人)

Re:定義

#2

投稿記事 by Dixq (管理人) » 16年前

定義は
#define
でかけますが、そういう定義でしょうか?
まず、何が目的で、何を必要としているか、規約にかいてあるように詳しく教えて下さい。

また、http://www.google.co.jp/search?hl=ja&q= ... =&aq=f&oq=が、
これでは解決しませんか?

質問を規約を守って丁寧にすることで、良い回答が集まると思います。

TOMONORI

Re:定義

#3

投稿記事 by TOMONORI » 16年前

宣言と定義の定義だとすると、関数を例として、

// 宣言
int func(int num);
// 定義
int func(int num)
{
// 動作の記述
return num * num;
}
// 任意の場所で利用する
int main()
{
int i;
int ii;
i = 2;
ii = func(i); // 利用

return 0;
}

たかぎ

Re:定義

#4

投稿記事 by たかぎ » 16年前

C言語における「定義」は、JIS X3010:2003では、6.7 宣言によると...

意味規則 宣言は, 幾つかの識別子の解釈及び属性を指定する。識別子の定義(definition)とは, 宣言のうち次のものをいう。
- オブジェクトに対しては, そのオブジェクトの記憶域を確保する宣言
- 関数に対しては, 関数本体を含む宣言
- 列挙定数又は型定義名に対しては, その識別子の(唯一の)宣言

となっています。

一方、#define前処理指令によるものは「マクロ定義」です。
また、typedef指定子によるものは「型定義」です。
さらに、
struct A;
union B;
enum C;
が構造体・共用体・列挙体の宣言であるのに対して、
struct A { int a; };
union B { int b; };
enum C { c };
は構造体・共用体・列挙体の定義になります。

最後に、ややこしい概念として「仮定義」というものがあります。
これについては自分で調べてみてください。

notta

Re:定義

#5

投稿記事 by notta » 16年前

ありがとうございます。  頑張っていきたいと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る