動的構造体の初期値

構造体に可変数のインスタンスが必要な場合、そのインスタンスは通常、calloc 関数または malloc 関数を使用して動的に取得されるメイン・ストレージの内部に作成されます。このような構造体内のフィールドを初期設定する場合は、次の技法を検討してください。
  1. 構造体を初期化するために、適切な MQxxx_DEFAULT マクロ変数を使用して、構造体のインスタンスを宣言する。このインスタンスが他のインスタンスのモデルになります。
    MQMD Model = {MQMD_DEFAULT};  /* declare model instance */
    必要に応じて、宣言に static キーワードまたは auto キーワードをコーディングすると、存続時間中のモデル・インスタンスを静的または動的な状態にすることができます。
  2. calloc 関数または malloc 関数を使用して、構造体の動的インスタンス用のストレージを取得します。
    PMQMD Instance;
    Instance = malloc(sizeof(MQMD));  /* get storage for dynamic instance */
  3. memcpy 関数を使用して、モデル・インスタンスを動的インスタンスにコピーします。
    memcpy(Instance,&Model,sizeof(MQMD));  /* initialize dynamic instance */

概念 概念

フィードバック

タイム・スタンプ・アイコン 最終更新: 2018 年 10 月 2 日 (火)
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.ref.dev.doc/com.ibm.mq.ref.dev.doc/q093750_.htm fr10650_