機能と自由度とは? わかりやすく解説

機能と自由度

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 02:05 UTC 版)

C言語」の記事における「機能と自由度」の解説

文の区切り終端記号 セミコロン「;」で表し改行文字にも空白にトークン区切りとしての意味し持たせないフリーフォーマット」という形式採用している。中括弧{ }によるブロック構造およびスコープサポートする記述作法についてはしばし議論対象となり、書籍多数出版されている。 ALGOL思想受け継いで構造化対応している手順入れ子構造示して見通し良い記述をすることができる。原理的に無条件分岐goto)を使用する要はなく、MISRA Cでは当初goto文禁止していた。goto文を使わなければスパゲティプログラム呼ばれる読みにくいプログラムになりにくい。 モジュール化ファイル単位として可能。モジュール内だけで有効な名前を使うことができるスコープ持っているプログラム戻り値つきのサブルーチン分離できるC言語ではこれを関数呼び関数内のプログラムコードでは、独立したスコープを持つ変数ローカル変数)が使用できる。これにより、データ流れブロックごとに完結するのでデバッグ容易になり、また関数再帰呼び出しも可能となる。また、多人数での共同開発の際にも変数名衝突回避しやすくなる。なお、C言語ではUNIXのようなOS前提としたホスト環境と、割り込み制御のようなOS前提としないフリースタンディング環境とがある。ホスト環境では、プログラム開始直後実行するプログラム要素main という名前の関数として定義するプログラム中で再帰的main関数を呼ぶことも可能(C++では不可能)。フリースタンディング環境では、エントリポイントと呼ばれるアドレス置かれコードプログラム開始点とするが、それがmain関数である必要はない。なお再帰呼び出しは、スタックオーバーフロー原因となるため、MISRA Cでは禁止している。 システム記述言語として開発されたため、高級言語であるがアセンブラ的な低水準操作ができる。ポインタ演算ビットごとの論理演算シフト演算などの機能持ちハードウェア密着した処理を効率よく記述できる。これはオペレーティングシステムデバイスドライバーなどを記述する上では便利であるが、注意深く利用しない発見しにくいバグ原因となる。ライブラリ関数は、C言語規格規定している関数と、OS規定している関数との間の整合性棲み分けなどが流動的である。MISRA Cのようないくつかの制約では、C言語規格規定している関数妥当性について指摘しいくつかの関数利用しないように規定している。 ソースコード記述に使う文字集合ANSI C (C89) およびISO/IEC 9899:1990 (C90) ではASCII標準としている。他のISO 646でも書けるように、3文字利用したトライグラフ呼ばれる表記法存在するその後ISO/IEC 9899:1995 AMD (C95) などではマルチバイト文字セット対応の拡張規定している。さらに、その後トライグラフ複数コード利用したシステムでしか利用がない[要説明]ため、より分かり易い2文字によるダイグラフ規定している。 組み込み整数型および浮動小数点数型のほか、構造体共用体列挙体(列挙型)によるユーザー定義のデータ型列挙定数サポートする構造体および共用体ビットフィールドサポートする

※この「機能と自由度」の解説は、「C言語」の解説の一部です。
「機能と自由度」を含む「C言語」の記事については、「C言語」の概要を参照ください。

ウィキペディア小見出し辞書の「機能と自由度」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「機能と自由度」の関連用語

機能と自由度のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



機能と自由度のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのC言語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS