C言語の忘れやすい知識点のまとめ

2179 ワード

C言語の忘れやすい知識点のまとめ
  • ###Designated Initializers(初期化指定)C 99に導入された新しい特性.指定した配列の下付き文字または構造体のメンバーを直接初期化できます.
  • struct S1 {
      int i;
      float f;
      int a[2];
    };
    
    struct S1 x = {
      .f=3.1,
      .i=2,
      .a[1]=9
    };
    
    int a[6] = { [4] = 29, [2] = 15 };
    rohc-lib.org   rohc_traces.h       :
    
    typedef enum
    {
        ROHC_TRACE_DEBUG = 0,   /**< Print debug traces */
        ROHC_TRACE_INFO = 1,    /**< Print info (or lower) traces */
        ROHC_TRACE_WARNING = 2, /**< Print warning (or lower) traces */
        ROHC_TRACE_ERROR = 3,   /**< Print error (or lower) traces */
        ROHC_TRACE_LEVEL_MAX    /**< The maximum number of trace levels */
    } rohc_trace_level_t;
    
    const char *level_descrs[] =
    {
        [ROHC_TRACE_DEBUG]   = "DEBUG",
        [ROHC_TRACE_INFO]    = "INFO",
        [ROHC_TRACE_WARNING] = "WARNING",
        [ROHC_TRACE_ERROR]   = "ERROR"
    };
  • C 99は、C++のように、関数内でいつでもどこでも使用する必要があるときに変数を定義することができます.詳細はこちら:The New C:Declarations&Initializations
  • C99