Oracle® Solaris Studio 12.4: C ユーザーガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

6.10.5 正当性

void を除けば、C には、不完全な型を処理する方法は、構造体や共用体への前方参照のほかには用意されていません。たとえば、2 つの構造体がお互いを指すポインタを必要とする場合、これを行う唯一の方法は、不完全な型を使用することです。

struct a { struct b *bp; };
struct b { struct a *ap; };

異なる形式のポインタや異なる種類のデータ型を持つ、強力な型依存プログラミング言語には、すべて前述のようなケースを処理するための方法が用意されています。