いまさら聞けない「C」の歴史【第2回】
K&R版Cとは? 「C」を“革新的プログラミング言語”にした立役者
プログラミング言語「C」の登場初期に、その革新性を広く知らしめるきっかけになったのが「K&R版C」の存在だ。K&R版Cとは何なのか。そもそも「K」と「R」とは。
通信技術の研究開発を手掛けるベル研究所(Bell Laboratories)は1973年に、プログラミング言語「C」を開発した。Cのコンパイラ(ソースコードを実行可能ファイルに変換するプログラム)は、ベル研究所内のさまざまなプログラムを実装できるほど強力だった。Cで記述されたOS「UNIX」は、研究指向の学術機関や政府機関が使用するようになった。
革新的だった「K&R版C」
併せて読みたいお薦め記事
連載:いまさら聞けない「C」の歴史
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.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
なぜワンキャリアは障害復旧を3時間から1時間以内に短縮できたのか -
製品資料
自社のDevSecOpsはどこまで進んでいる? 進捗を測る指針“成熟度モデル”とは -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
事例
三菱ケミカルが脆弱性への迅速な対応フローを実現した方法とは? -
技術文書・技術解説
MDMだけでは防げない? Appleデバイスに潜む5つのセキュリティギャップ
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
2
契約作成からKYCまでAIが完結 独金融大手が3000人を削減してまで狙う破壊的効率化
-
3
「HDD終了」は本当か 巨大クラウド2社が下した大容量フラッシュへの決断
-
4
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
5
管理職542人に聞いた AIやデジタル化でなくしたい主な事務作業第1位は?
-
6
「業務改善とツール活用」に関するアンケート
-
7
LLMの「過学習」、正しく説明している文章はどれ?
-
8
ただで使い「12時間以内の復旧」を迫る 無償OSSを商用扱いする日本企業の末路
-
9
【漫画付き】"RAG導入失敗3例"と処方箋 「入れても使われない」を終わらせる
-
10
なぜAnthropicはClaude Codeで「エージェントを作るな、スキルを作れ」と言うのか
ホワイトペーパーランキング PR
-
1
属人化や仕様バグはなぜ起きる? AI時代に必須のドキュメント文化の作り方
-
2
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
中小企業必見、Microsoft 365でゼロトラストセキュリティを実現する方法
-
6
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
7
“あのファイル転送”で暗躍するノーウェアランサム
-
8
5分で分かる「AI駆動開発エージェント」 要件定義から設計・実装・テストまで
-
9
動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
-
10
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー