Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

付録A IDL定義> A.7 データ型と型宣言

A.7.4 構造体

 構造体の宣言の書式を以下に示します。

  struct データ型名 {
      構造体メンバの宣言
  };

 構造体メンバの宣言の書式を以下に示します(typedefは使用しません)。

  基本データ型  メンバ名;
  シーケンス型  メンバ名;
  構造体        メンバ名;
  共用体        メンバ名;
  固定小数点型  メンバ名;
  スコープ名    メンバ名;

 メンバ名には単独の識別子か配列を指定します。構造体メンバは1つ以上必要であり、空の構造体は許されていません。メンバ名には単独の識別子か配列を指定します。

 以下に構造体の記述例を示します。

  module A {
      typedef long B; 
  };
  struct S {
      string    name; 
      short     number; 
      long      value; 
      ::A::B    s; 
  };

 再帰的な型宣言は、シーケンス型を用いたものだけが許されています。

  struct  aaa {
      long  l;
      sequence<aaa>  bbb;
  };

 構造体名を定義するために、 typedefを使うこともできます。

注意事項

 IDLのstruct型はC言語のstruct型と異なり、構造体の宣言を意味します。このため、構造体のメンバに構造体を宣言する場合は、以下のように記述します。

  struct A {
      char xx;
  };
  struct B {
      A yy;
  };

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005