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 マーケティング新着記事

news035.jpg

低迷するナイキやアディダスを猛追する「HOKA」の “破壊的”ブランディングとは?
ランナーの間で好感度が低迷しているNikeに対し、ディスラプター(破壊的企業)として取...

news051.jpg

新紙幣の発行、3社に1社が日本経済に「プラスの影響」と回答――帝国データバンク調査
20年ぶりの新紙幣発行は日本経済にどのような影響を及ぼすのでしょうか。帝国データバン...

news196.png

WPPとIBMが生成AIを活用したB2Bマーケティング領域で連携
IBMのビジネス向けAIおよびデータプラットフォームである「watsonx」の機能を「WPP Open...