Typedef
一部の人々は、typedefを広範に使用することに反対している。ほとんどの議論は、typedefは単に変数の実際のデータ型を隠すだけであるという考えに集中する。例えば、Linuxカーネルハッカーであり、ドキュメント作成を行っているグレッグ・クロー=ハートマン(Greg Kroah-Hartman)は、関数プロトタイプ宣言を除いて、typedefの使用をやめさせようとしている。彼は、typedefを使用することが、必要以上にコードを混乱させるだけでなく、プログラマが巨大な構造体を単純な型と誤認識して使用してしまうことがあると主張している。
しかし、typedefを推奨して、広範に使用することに大賛成する人々もいる。特に、C言語を発明したブライアン・カーニハン (Brian W. Kernighan) とデニス・リッチー (Dennis M. Ritchie) はプログラミング言語C(英:The C Programming Language)というC言語の定義書に、typedefの利用に対するメリットを2つ述べている。まず第一は、ソフトウェアをマルチプラットフォーム展開する際に、ソースコードの移植性(ポータビリティ)を向上させる手段として重要なことである。