K&R版Cとは? 「C」を“革新的プログラミング言語”にした立役者いまさら聞けない「C」の歴史【第2回】

プログラミング言語「C」の登場初期に、その革新性を広く知らしめるきっかけになったのが「K&R版C」の存在だ。K&R版Cとは何なのか。そもそも「K」と「R」とは。

2022年09月29日 08時15分 公開
[Twain TaylorTechTarget]

 通信技術の研究開発を手掛けるベル研究所(Bell Laboratories)は1973年に、プログラミング言語「C」を開発した。Cのコンパイラ(ソースコードを実行可能ファイルに変換するプログラム)は、ベル研究所内のさまざまなプログラムを実装できるほど強力だった。Cで記述されたOS「UNIX」は、研究指向の学術機関や政府機関が使用するようになった。

革新的だった「K&R版C」

 1978年、コンピュータ研究者のデニス・リッチー氏とブライアン・カーニハン氏は書籍『The C Programming Language』(プログラミング言語C)を出版した。この書籍はCの基準が整うまで、一般的な規約としての役割を果たした。The C Programming Languageには、カーニハン氏とリッチー氏の名を冠した「K&R」という略称がある。K&Rを標準としたバージョンのCは「K&R版C」とも呼ばれる。

 K&R版Cは、次の革新的な機能を盛り込んだ。

  • 標準入出力を使うためのライブラリ(プログラム部品群)
  • データの種類ごとに規約を定めたデータ型の「unsigned」と「long int」
    • unsignedは、符号なしの整数を扱うためのデータ型。
    • long intは、整数を扱う「int」よりも大きな整数を扱うためのデータ型。
  • 複合代入演算子
    • 演算子の左側の変数と右側の値を使って計算をした結果を、左側の変数に代入することを指示する演算子。計算として加算を実行する「+=」などがある。
  • 呼び出し元に渡す戻り値を持たない関数
    • この場合、戻り値のデータ型に「void」を指定する。
  • 構造体
    • 異なるデータ型をまとめて扱えるようにしたデータ構造。
  • 列挙型
    • 特定の定数をまとめた集合体。
  • 共用体
    • 同じメモリ領域に異なるデータ型を格納できるデータ型。

 第3回はCの標準化の歴史を整理する。

TechTarget発 先取りITトレンド

米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。

ITmedia マーケティング新着記事

news112.jpg

「インクルーシブマーケティング」実践のポイントは? ネオマーケティングが支援サービスを提供
ネオマーケティングは、インクルーシブマーケティングの実践に向けたサービスを開始した...

news135.jpg

Xが新規アカウントに課金するとユーザーはどれほど影響を受ける? そしてそれは本当にbot対策になるのか?
Xが新規利用者を対象に、課金制を導入する方針を表明した。botの排除が目的だというが、...

news095.jpg

Googleの次世代AIモデル「Gemini 1.5」を統合 コカ・コーラやロレアルにも信頼される「WPP Open」とは?
世界最大級の広告会社であるWPPはGoogle Cloudと協業を開始した。キャンペーンの最適化、...