ページ 11

構造体について

Posted: 2011年5月07日(土) 20:24
by afusin
今僕は参考書でc言語を学習しているのですが
わからないところがでてきてしまったのでどなたか教えていただけるとありがたいです
今現在つかっているコンパイラはvisual c++ 2008です

僕は今構造体の勉強をしていて
typedefの意味がいまいちよくわかりません

さらにサンプルコードも書いていないのでどう組んでいいかわかりません

どなたかtypedefはどう使えばいいか?そしてそれを使ってなにか利点はあるのか?
をおしえてください

よろしくお願いします

Re: 構造体について

Posted: 2011年5月07日(土) 20:45
by box
まあ、ザックリいうと、実際の型名に別の名前を付けるのがtypedefの役目です。

コード:

typedef struct str{
    char c;
    int n;
    long d;
} S;
のように、3個のメンバーを持つstrという構造体に、Sという別名を付けます。
そうすると、str構造体の変数を定義するとき、

コード:

S a;
と書くことと

コード:

struct str a;
と書くこととは同じ意味を持ちます。
同じメンバー構成を持つ構造体を使う変数が随所に登場するような場合、
1回typedefしておけば入力量の削減などのメリットがあると思います。

なお、typedefは、例えば

コード:

typedef unsigned int UINT;
のように、構造体以外にも使えます。この例では、符号なし整数型にUINTという別名を付けています。

Re: 構造体について

Posted: 2011年5月07日(土) 21:16
by afusin
ありがとうございます

無事に理解することができました

本当にありがとうございました