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製品導入事例などを厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

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

news171.jpg

日本テレビの運用型テレビCM「スグリー」、プレミアパートナー企業9社を認定
日本テレビは、テレビCM枠をWebで購入できるサービス「スグリー」のプレミアパートナー9...

news092.jpg

ウェルチのCMOが語るリブランディング 脱「ぶどうジュースの会社」なるか?
Welch’s(ウェルチ)が製品の品揃えを拡大する中で、CMOのスコット・ウトケ氏はブランド...

news085.jpg

OpenAI、Google、etc. 第59回スーパーボウルで賛否が分かれた“微妙”CMたち
スーパーパーボウルLIXでは、有名人やユーモア、政治を前面に押し出した広告について、賛...