• ベストアンサー

構造体の纏めの後について……。

constの回答

  • ベストアンサー
  • const
  • ベストアンサー率66% (12/18)
回答No.3

typedef ABC [20][20]すると見通しが良くなるので間違いにくくなるかと思います。 typedef struct tagABC {   int Dog;   int Cat; } ABC, ABCMatrix[20][20]; ABCMatrix *DBase[2] = { &Point1, &Point2 }; Point1[1][0] (*DBase[0])[1][0]

jam_with_ju2
質問者

お礼

回答、有難う御座います。 上記のヒントから、ちょちょっと手直ししたら、満足の行く動きをしてくれました。 どうも有難う御座いました!

関連するQ&A

  • 構造体について

    私は今プログラミング(C++)を勉強しているのですが、構造体に苦戦しています。分からないことがいくつかあります。もし知っていたらどれでもいいですので、よろしければ教えてください。 1、たとえば構造体を宣言するときに struct abc{ int s; struct abc xx; struct abc yy; }; と宣言するときがあります。でも上記の例と下記の例との違いが分かりません。 struct abc{ int s; struct abc xx; struct abc yy; }abc; 2、たとえばメインの最初にこのように宣言されているとします。 int j, i; struct abc *kk, *nn, *mm; これはここに宣言したものがローカルで、1のときに宣言したものがグローバルと考えていいのでしょうか? 3、メインの中に次のようなプログラムがあったとします。 kk->xx = j; kk->yy = j; nn->yy = NULL; i = kk->xx; i = kk; これらがそれぞれどのような意味があるのでしょうか。 これらでわかることがあればぜひ教えてください。よろしくお願いいたします。

  • C#で構造体の配列を持った構造体を使いたいのですが

    C#で構造体の配列を持った構造体を使いたいのですが Cならば struct xyz { struct abc _abc[32]; int index; }; struct abc { int a; int b; int c; }; struct xyz _xyz[8]; xyz[0]._abc[3].b = 1; のような使い方で という感じで やっていた事を C#で 同じような事をやろうとしても うまくいきません うまくやる方法をどなたかご存知ないでしょうか Visual Studio 2005行った場合 コンパイルで 構文エラーです。不適切な配列の宣言子です。マネージ配列を宣言するには、次元指定子を変数の識別子の前に指定します。固定サイズ バッファ フィールドを宣言するには、フィールド型の前に fixed キーワードを使用します となり fixed をつけると 固定サイズ バッファの型は次のうちの 1 つでなければなりません: bool、byte、short、int、long、char、sbyte、ushort、uint、ulong、float または double となってしまいます

  • 構造体の中の構造体

    typedef struct number{ int x; struct number *next; }Num; 初心者な質問で申し訳ないんですが、構造体の中に構造体があるのはどう解釈していいんでしょうか? typedef struct number{ int x; int y; }Num; の場合はNum a,b;がint a.x,a.y,b.x,b.yとなるのは分かるんですが・・・

  • 構造体の返し方

    こういう構造体があるとして、 typedef struct Day{  int day1, day2, day3; } Day; このような関数で値を入れて、 int DayTest (char s) {  Day day;  day1 = 2003;  day2 = 12;  dat3 = 31;  return < ここの返し方がわからない >; } これを main() 関数で参照できるようにするには どうすればいいのでしょうか。 printf で出力させるとかで結構です。 ポインタだとは思うのですが、うまくいきません。

  • 構造体の構造体配列初期化

    typedef strunct _test01 { int a; int b; } test01_t; typedef strunct _test { int c; test01_t sTest01[256]; } test_t; test_t sTest; 上記のような構造体がある場合、sTestのメンバのsTest01をNULL初期化する 方法とsTest01に値が入っていないか(初期化されているか)を判定する方法を 教えていただけませんか? よろしくお願い致します。

  • 構造体について

    構造体についての質問です。 main関数で構造体に 格納しています。 その構造体の値を 自作の関数(look)で 参照したいのですが どのようにすればいいのか ご教示して頂けたら幸いです。 typedef struct nentbl_ { int tosi; int kan; } nentbl; //--------------------------------------------------- int look(id){ nentbl kihokyu[50]; printf("%d %d\n",kihokyu[id].tosi , kihokyu[id].kan); } //---------------------------------------------------- int main(void){ nentbl kihokyu[50]; ・ ・ ・ kihokyu[1].tosi =11; kihokyu[1].kan = 20; kihokyu[2].tosi = 21; kihokyu[2].kan = 30; kihokyu[3].tosi = 31; kihokyu[3].kan = 40; y = look(1);

  • 構造体・ビットフィールドのvolatileに関して。

    以下のような構造体があったとする。 -(1) -----------------------------  typedef volatile struct ABC{    char x;    char y;  }stABC; -(2) -----------------------------   typedef struct ABC{    volatile char x;    volatile char y;  }stABC; --------------------------------- ■質問  -------------   stABC abc;   abc.x // ←volatileは有効?   abc.y // ←volatileは有効?  ------------- ・このとき、メンバx,y は(1)/(2)の構造体型宣言どちらでも  同じ意味合いになっているのでしょうか。  ※特に(1)の場合、volatileは有効になっているのでしょうか。 ・ビットフィールド時も同じと考えて問題ないでしょうか。   (1)typedef volatile struct ABC{      char x: 1 ;      char x: 7 ;    }stABC;   (2)typedef struct ABC{      volatile char x: 1 ;      volatile char x: 7 ;    }stABC;

  • 入れ子の構造体について

    例えば、入れ子の構造体を1つ使いたい場合、 struct bbb{ int b; }; typedef struct aaa{ struct bbb a; }AAA; AAA dt; と書くと、「dt.a.b = 10」とやれば、値等を設定できると思いますが、 入れ子の構造体を2つ使いたい場合も、同じように書けるのでしょうか? struct ccc{ int c; }; struct bbb{ struct ccc b; }; typedef struct aaa{ struct bbb a; }AAA; AAA dt; dt.a.b.c = 10; と書けるのでしょうか?こんがらがってしまって、どう書いていいのか・・。 2つでも出来るのであれば、コードの書き方を教えて頂けませんか?

  • 構造体メンバへの代入

    とても初歩的なことなのですが、 typedef struct _X{ int x; }X[50]; と構造体を定義して X[0].x = 0; と0を代入しようとすると、「宣言が正しく終了していない」とエラーが出てしまいます。 これはなぜでしょうか? ちなみにMicrosoft Visual C++ 2005 Express Editionを使っています。

  • ヘッダファイルと構造体

    typedef struct{ float x; float y; float z; }Point; typedef struct { struct Point p1; struct Point p2; }Rect; とヘッダファイルに入力しコンパイルしてみると struct Point p1; struct Point p2; のPointが未定義の構造体とエラーが出ます。 どのように書けばいいのでしょう??