Light C | ← → 目次 索引 |
ISO、JIS、ANSI はそれぞれ国際標準化機構 (International Organization for Standardization)、日本工業規格 (Japanese Industrial Standard)、米国規格協会 (American National Standard Institute) の略称です。C 言語の文法は、これらの規格によって定められています。
Light C for x86 は ANSI X3.159 (C89:1989 年 12 月) に準拠しています。ISO/IEC 9899:1990 Programming Languages-C (C90:1990 年 12 月)、および日本工業規格の JIS X 3010:1993「プログラミング言語 C」も基本的に ANSI X3.159 と同じです。
参照 ISO/JIS/ANSI 規格との互換性
ファイルを管理するための構造体で、stdio.h で定義されています。この構造体自体は ANSI 規格ですが、内部 (メンバ) の詳細はコンパイルによって異なります。通常、FILE のメンバを気にかける必要はありません。
Microsoft Macro Assembler (MS-MASM) V6.0 と互換性のある MS-DOS 用のマクロ アセンブラです。https://www.tamasoft.co.jp/lasm/ から体験版を入手できます。
16 ビットの文字コードです。「文字リテラル」を参照してください。
データのアドレス、サイズ、オフセットなどを切りのよい値に揃えることを意味する言葉です。
一般にデータはなるべく切りのよいアドレスに置くと速度が向上します。16 ビット プロセッサでは、通常、2 で割り切れるアドレスにデータを置くと、アクセス時間が短くなります。→ -alignloc、-alignst
エラーが発生した場合に、エラー コードが格納される int 型の広域変数です。この変数に設定されるエラー値には、定義範囲外の引数が渡されたことを示す EDOM、結果が範囲外になったことを示す ERANGE などがあります。EDOM と ERANGE は ISO/JIS/ANSI 規格です。これらの値は errno.h で E から始まる名前に定義されています。
errno 変数は、スタートアップ ルーチンで 0 に初期化されます。その後、いずれかのライブラリ関数でエラーが発生すると、0 以外のエラー値が書き込まれます。errno の値は、他のエラーで上書きされるか、プログラムで明示的に値を代入しない限り、変化しません。
MS-DOS、Windows、UNIX などのオペレーティング システムには、「環境変数」と呼ばれる設定手段があります。一般に環境変数を設定するには、次のように入力します。
set <variable-name>=<value>
環境変数の内容を消去するには、次のように入力します。
set <variable-name>=
環境変数の内容を表示するには、次のように入力します。
set
たとえば、環境変数 lclib に「Light C\lib」を設定するには、次のように入力します。
set lclib=Light C\lib
オペレーティング システムの起動時に環境変数を自動的に設定することもできます。それには、MS-DOS および Windows 95/98 の場合は、起動ドライブのルート ディレクトリにある autoexec.bat に上のうような set コマンドを記述します。Windows NT の場合は、コントロール パネルの [システム] アプレットを使用します。
演算の対象値を先に、演算子を後に書く記法です。たとえば sizeof a を逆ポーランド記法で書くと a sizeof となり、a + b を逆ポーランド記法で書くと a b + となります。後者は「a と b を足す」と読めるので、日本語の文法に似ています。
コマンドライン プログラムを実行するためのウィンドウです。Windows XP でコマンド プロンプトを開くには、[スタート] → [プログラム] → [アクセサリ] → [コマンド プロンプト] を選択します。
オペレーティング システム (OS) に返される整数で、MS-DOS では 0 〜 255 です。通常、0 は正常終了を表し、1 以上は異常終了を表します。
作成するプログラムでは、main() の戻り値または exit() の引数で終了コードを指定できます。Light C コンパイラ自体の終了コードは、オプション -rw で指定できます。
MS-DOS では、"IF ERRORLEVEL" バッチコマンドなどを使用して、プログラムの終了コードを判定できます。
末尾に値 0 のバイトが付加された文字列です。通常、C 言語の「文字列」という用語は、このヌル終端文字列を意味します。
2 バイト以上で表される文字が混在する文字列のことで、日本で通常使用されている Shift-JIS 文字列は、その一例です。→ ワイド文字列
サイズが int のサイズより小さい整数を式の中で使用したり関数に渡したりすると、自動的に int または unsigned int に変換されること。次のように変換されます。
FILE 構造体
Light Macro Assembler
wchar_t
アライン (境界整列)
errno
環境変数
逆ポーランド記法
コマンド プロンプト
終了コード (OS 戻り値)
ヌル終端文字列 (C 言語の文字列)
多バイト文字列 (マルチバイト文字列)
汎整数拡張 (integral promotion)
変換前 | 変換後 |
---|---|
signed char | int |
unsigned char | int |
たとえば、int func( signed char a, signed char b ) { return a + b; } という関数を func( 127, 127 ) で呼び出すと、a + b は (int)a + (int)b のように計算されるため、結果は -2 ではなく 254 になります。
プログラムで FILE 構造体を使用すると、FILE 関連のライブラリ モジュールがリンクされ、stdin、stdout、stderr、stdprn の 4 つの標準入出力が自動的に用意されます。
標準入出力
名前 | FILE* 型変数 | アクセス モード | DOS ハンドル | 通常の連結先 |
---|---|---|---|---|
標準入力 | stdin | "r" | 0 | キーボード |
標準出力 | stdout | "w" | 1 | ディスプレイ |
標準エラー出力 | stderr | "w" | 2 | ディスプレイ |
標準プリンタ出力 | stdprn | "w" | 4 | プリンタ |
stdin 〜 stdprn は、stdio.h およびライブラリ モジュール fbuf.c で FILE* 型の広域変数として定義されています。いずれもテキスト モードで、stdin 以外はバッファリングされません。
例 | scanf( "%d", &i ); | // 標準入力から取得 |
fscanf( stdin, "%d", &i ); | // 同上 | |
printf( "Hello\n" ); | // 標準出力に出力 | |
fprintf( stdout, "Hello\n" ); | // 同上 | |
fprintf( stderr, "Hello\n" ); | // 標準エラー出力に出力 | |
fprintf( stdprn, "Hello\f" ); | // プリンタに出力して改ページ |
メモ 標準補助入出力 stdaux は、アクセス モードを一意に決められないため、初期状態では定義されていません。ただし、fbuf.c をコメントに従って編集すれば、簡単に追加できます。
#include 文で取り込むためのファイルで、一般にはマクロ定義、関数のプロトタイプ宣言、広域変数の宣言などを行います。
C コンパイラには stdlib.h、string.h などいくつかの標準ヘッダー ファイルが付属しています。
リテラル (literal)」とは「そのもの」という意味で、「値そのものを記載したもの」というほどの意味です。整数リテラル、浮動小数点数リテラル、文字リテラル、文字列リテラルがあります。「定数」と似ていますが、「定数」には const 変数も入る可能性があるので「リテラル」という言葉で区別しています。
' ' (20)、'\t' (09)、'\n' (0A)、'\v' (0B)、'\f' (0C)、'\r' (0D) のいずれかです。isspace 関数で判定できます。
ヘッダー ファイル
リテラル
ホワイトスペース (空白類)
Copyright © Tama Software Ltd, 1999-2012. | ← → 目次 索引 |