タグ: language-c

演習5-1 K&R プログラミング言語C

演習5-1 問題文の意味がいまいちわかりにくかったが、 +/- と数字の間に空白があっても +/- 記号が機能するように変更すると解釈した。 +/- 記号があれば sign_c に一時保存して次の文字を読みにいく。 次の文字が数字でなければ(スペースなどの場合)sign_c に一時保存した +/- 記号を ungetch() で入力に戻し、入力が数でないという印の 0 を返す。 #include …続きを読む

4.6 静的変数, 演習4-11 K&R プログラミング言語C

4.6 静的変数 static 宣言した変数・関数のスコープ 外部変数や関数を static 宣言すると、そのスコープはソース・ファイルの宣言以下の部分に限定される。 以下に示す3つのファイルをコンパイルすると static 宣言した同名の変数 i のスコープはそれぞれのソース・ファイル内に限定される。 main.c #include <stdio.h> void print1(voi…続きを読む

4.4 通用範囲に関する規則, 4.5 ヘッダ・ファイル K&R プログラミング言語C

4.4 通用範囲に関する規則 外部変数の宣言と定義について 内容 宣言 定義 働き 変数の性質(型)を指示する 記憶への割り付けを行う 数 各ファイル毎に含むことが可能(定義を含むファイルも) すべてのファイルの中に一つのみ 配列サイズ 省略可 省略不可 4.5 ヘッダ・ファイル ファイル間で共用される定義と宣言をヘッダ・ファイルにまとめて集中管理する。 プログラミング言語C 第2版 ANSI規格…続きを読む

演習4-10 K&R プログラミング言語C

4.3 の電卓プログラムを修正する。 演習4-10 getch, ungetch での処理を読込行文字配列のインデックスのインクリメント・デクリメントで行う。 読み込み行を外部変数 line に、読み込み文字位置を line_pos に保持する。 /* 省略 */ #define MAXLINE 1024 /* 省略 */ static char line[MAXLINE]; static int…続きを読む