static struct file_operations memory_fops = {
open: memory_open, /* just a selector for the real open */
};
これはuclinuxのmem.cファイルからのものです
これは GNU スタイルの初期化構文です。open
メンバーは に初期化されmemory_open
、残りは初期化されないままになります。C99 は別の構文を使用します ( .open = memory_open
)。
C では、最初から中括弧で囲まれた初期化子でオプションの末尾のコンマが許可されていました。のようなイニシャライザで均一なコンマ配置を使用できるようにするためにあります
struct SomeStructType s = {
value1,
value2,
value3,
};
これにより、たとえば、必要が生じた場合に、リスト内の初期化子を再配置することが容易になります。使うか使わないかは個人の好みの問題です。
構文に関して:
は、@geekosaur が既に説明したように、GCC 固有の拡張です。対応する機能は、異なる構文で C99 で標準化されました。