lang
[Learning GNU C] 第3章 data と 式 実際に 役にたつ プログラムは data を 取り入れ それに 作業を 加え そして それを どこかに 出力する。 C では data を 保存するため 変数 variable と 呼ばれる 名前を つけた メモリの 区画 piece を 用いる。 C の …
[Learning GNU C] 2-8. もう1つの 新しい 関数 先に 進む前に the Standard Device I/O ライブラリから さらに 1つの 関数 -- printf() -- を 見ることにしよう。 この 「表示を 書式化する」 print formatted コマンド (の line) は printf() の 進化した …
[Learning GNU C] 2.7. より 大きな (未完成の) プログラム 今まで 見てきた 小さな プログラムの 規模では ある程度の 対話型プログラムを つくるには 十分でない。 簡単に しておくために プログラムの 骨組みを 書くことにしよう。 そうすれば 新しい 考…
[Learning GNU C] 2.5. さまざまな ファイル プログラムは 1つの ファイルで 書かなければ ならないことは ない。 code は 思うように 多くの ファイルに 細分することが できるので 1つの プログラムを 40個の 関数で 構成したとしても それぞれの 関数を …
[Learning GNU C] 2.4. 自分だけの 関数を つくろう 前の 例題では 関数を 1つだけ 定義した。 別の 関数を 加えるには 通常 2つのことが 必要だ。 1つ目は ちょうど main() を 定義したように その関数を 定義 define しないと いけない。 また それを 宣言…
[Learning GNU C] 2.3. コメント コメントは プログラムに 説明文を つけ加える 方法だ。 それは compiler には 無視されるので どんなときにも プログラムに 影響することは ない。 あなたの 書く プログラムが もっと 大きくなれば その code で あなたが …
[Learning GNU C] 2-2. line ごとの 分析 それぞれの line が なにを しているのかを 手早く 説明しよう。 仮りに いくつかの 箇所で 自信が なくても 心配いらない。 もっと 多くの 例題を たっぷり やっていこう。 #include <stdio.h> この line は GCC が "the Sta</stdio.h>…
[Learning GNU C] 第2章 関数から 始めよう 2.1. 関数とは なにか? 関数は C の プログラムを 組み立てている block (区画) のことだ。 ほとんどの C の プログラムは 関数と 呼ばれる -- 名前を もった -- code の block から 成り立っている。 プログラム…
[Learning GNU C] 1.5. なにが C の 有効性を 決めるのか? プログラマにとって 「C の 有効性」は その compiler によって 定義される。 C には 多くの 様式 dialect が 存在するが ありがたいことに それは 全て よく 似ている。 また 他に Objective C や …
[Learning GNU C] 1.4. GCC 入門 では tiny という 小さな code と それを コンパイルする 方法を 示そう。 ここでの 要点は GCC の 使い方を 示すことなので まだ C の code の 説明は 行なわない。 GCC で コンパイルする これが 最小の code だ。 それは …
[Learning GNU C] 1.3. Programming Tools GNU は GCC と よばれる compiler を ともない 出現した。 最初 それは "GNU C Compiler" と 名付けられたが C 以外の 言語も コンパイルできるため その名前を "GNU Compiler Collection" に 変更された。 GCC を …
[Learning GNU C] 1.2. C とは なにか? compiler と よばれる tool は high-level の code を 機械語に 変換するとき 使われる。 プログラムは C で 書くことができ それは compiler に 特定の hardware へ 正確に 命令させるのに 適していたので どんな コ…
[Learning GNU C] 第1章 C 入門 1.1. プログラミング言語とは なにか? プログラミング言語は コンピュータによって 実行される 命令処理系統を レイアウトするための 様式 (format) と 定義される。 プログラミング言語は 3つの カテゴリーに 区分することが…
[Learning GNU C] 5. なぜ Free Software なのか? GNU に 関する 最も 重要なことは、それが Free Software として 知られる 完璧な システムであることだ。 software は、それが どんな 目的に 対しても 使えること、その software に 変更を 加えられるこ…
[Learning GNU C] 3. なぜ C を 学ぶのか? C は standard (標準) だ。 それは プログラマの programming language だ。 それは GNU や BSD の 基幹システムでの standard な programming language だ。 そこで 作動する こうした システムや アプリケーショ…
[Learning GNU C] アルゴリズムを 用いた プログラムや バッファ処理 等々の 解決は 後まわしにして、"Learning GNU C" を しばらく 訳していくことにします。 http://www.nongnu.org/c-prog-book/online/ (ぼくと 同じで 英語が ダメダメなために C に 近づ…
昨年、addressbook の プログラムで コケたのは、このへんに 問題が あったみたいだ。 ちょっと ナットク (解決は 先に なるけどね ...) http://www.nurs.or.jp/~asada/FAQ/UNIX/section4.5.html http://www.faqs.org/faqs/unix-faq/faq/part4/
なんとか 少しずつ 前に すすむよう、ポツポツと text を 集めています (英語は ニガテなんだけど ...oLr)。 "The C Book" http://publications.gbdirect.co.uk/c_book/?format=pf "The C Programming Works" http://www.howstuffworks.com/c.htm "Learning …
C での データの 扱い (構造体等) は 思ったより むずかしい ... 読み返すと どうも 迷走*1してるようなので、一応 9月17日、9月30日、10月1日分の 日記は 削除しました。(ちょっと 休憩) *1:勘違い?
では、ファイル・ポインタとは 何かというと、 Recall that files in the standard library are described by file pointers rather than file descriptors. A file pointer is a pointer to a structure that contains several pieces of information about…
fseek の man page では ファイル位置表示子 "file position indicator" と 呼ばれていますが、K&R 2nd の UNIX システム・コールの 章を 見ると、ファイル記述子 "file descriptor" として 説明されています。 In the most general case, before you read a…
データを 追加できるのが わかったので、次は 実際に ファイルに どれだけの 数の データが あるか 調べてみます。 ここでは、関数 fseek と ftell を 使います。 man page は 次の とおり、名前 fseek, ftell - ストリームの 位置を 変更する書式 #include …
関数 fopen の man page を 見ると、 a+ - 読み取り および 追加 (ファイルの 最後に 書き込む) のために 開く。 ファイルが 存在していない場合には 新たに 作成する。 ストリームは ファイルの 最後に 追加される。 mode 文字列には 文字 "b" を 追加指定…
先月も チラッと 触れたけど、C を 学ぶ上で ネックと なるのは - ポインタは 別にして - データを プログラムに どう 取り込むか、と いうことです。 で、やっと わかった↓ UNIX (の データ) には テキストモードしか ない。 これだけです ...oLr 「基礎C言…
GNU 開発ツール 予約開始 http://www.wnishida.com/~wmemo/?date=20060819#p01 ( via http://d.hatena.ne.jp/textfile/20060819/W ) 対象読者 PC-UNIX 環境上で作業可能な方 本書は Debian GNU/Linux 上での実例を掲載しています。 基本的な UNIX 操作を習得…
Sams Teach Yourself C in 24 Hours http://aelinik.free.fr/c/ 文字どおり 24時間 あれば C が 学べる、という 本。 む〜、あとで 覗いてみよう ...
(続き) さて、3つの 数値を 扱うための コードだと、次のように 表します。 fprintf(pointer, "%d %f %d\n", var1 var2 var3); ここでは、1つの int、1つの float、もう 1つの int を、ファイルを 指す ポインタに 続けて 取っています。 大事なのは、数値を…
(続き) 先月、ファイルに アクセスすることが できる モードについて 簡単に 触れましたが、使いたいとき どの モードを 特定するのか ということは、それを 説明する スペースが なくなって しまいました。 最初に、ファイルを 読むのか、書き込むのか ある…
あいかわらず リハビリちゅー ... http://www.tofla.iconbar.com/tofla/c/cfy12/ 挿入と 保存 先月は ファイルを 開閉する テクニックについて 見てきましたが、それを 使って 何かをする という 具合には いきませんでした。 先へ すすむ前に、新しく 2つの…
この page だと 思うんだけど、 http://www.tofla.iconbar.com/tofla/c/cfy11/ ファイルの 取扱い 今月の tutorial の 仕上げとして、ファイル 出力先の 変更は どうするかを、手短に 見てみましょう。 これらの 操作を 行う 関数は、上で 使った*1のに とて…