検索 - みる会図書館

検索対象: 月刊 C MAGAZINE 1992年8月号

月刊 C MAGAZINE 1992年8月号から 145件ヒットしました。

月刊 C MAGAZINE 1992年8月号


SOFTBANK BOOKS 全 て の C プ ロ グ ラ マ に 贈 る ア ル ゴ リ ズ ム 解 説 書 の 決 定 版 C プ ロ グ ラ マ の た め の ー ア ル ゴ リ ズ ム 近 藤 嘉 雪 著 定 価 2 , 200 円 ( 税 込 ) 「 C MAGAZIN 連 載 記 事 を 大 幅 加 筆 。 プ ロ グ ラ ミ ン グ 上 達 に 必 要 な ア ル コ ッ ズ ム と デ ー タ 構 造 に つ い て 、 C 言 譓 ユ る 実 例 凾 し て 明 解 に 解 説 / [CONTENTS] 印 、 O テ ー タ 構 造 と 近 藤 囂 雪 著 汁 第 1 部 第 2 部 第 3 部 第 4 部 ア ル ゴ リ ズ ム と デ ー タ 構 造 の 基 本 ア ル ゴ リ ズ ム と は ? / 計 算 量 / デ ー タ 構 造 と は ? 基 本 的 な デ ー タ 構 造 配 列 / 連 結 リ ス ト / 木 構 造 探 索 探 策 と は ? / ハ ッ シ ュ 法 / ニ 分 探 索 木 / 平 衡 木 整 列 整 列 と は ? / 単 純 な 整 列 ア ル ゴ リ ズ ム / シ ェ ル ソ ー ト / ク イ ッ ク ソ ー ト / マ ー ジ ソ ー ト ・ お 近 く の 書 店 で お 求 め 下 さ い 、 万 ト バ ン ク 出 版 事 業 部

月刊 C MAGAZINE 1992年8月号


OOM EDITORS 次 号 予 告 >9 月 号 ( 8 月 18 日 発 売 ) PC-9801 版 Borland C + + .0 徹 底 研 究 別 付 5"2HD ・ $2HD 読 . テ パ イ ス ド ラ イ バ 「 JAPAN2HD 」 ・ メ ニ 三 ← ロ グ ラ ム 「 GAS 」 ・ テ キ ス ト 整 形 プ ロ グ ラ ム 「 Efin 」 プ ロ ロ ー グ ・ Tu 「 bo C か ら BorIand C 十 十 へ ・ 本 誌 掲 、 ス プ ロ グ ラ ム Part I ・ BC 十 十 の 機 能 C 言 語 と し て の BC 十 十 , C 十 十 と し て の BC 十 十 好 評 連 載 Part Ⅱ ・ APPL ℃ ATION FRAMEWORKS 実 践 C プ ロ グ ラ ミ ン グ 入 門 Turb0 Vision, ObjectWindows C + + 入 門 講 座 ・ T Ⅳ The C + + Pa 杙 ・ 新 し い 統 合 環 境 ( Turbo C fo 「 Windows) 新 MS - DOS プ ロ グ ラ ミ ン グ 入 門 Pa 臧 Ⅳ ・ BC + + の 今 後 の 展 開 ( BC + + 3.1 , DOS/V 版 BC 十 十 ) 実 践 ア ル ゴ リ ズ ム 戦 路 C 言 語 雑 学 講 座 プ ロ グ ラ ミ ン グ の 工 ッ セ ン ス く 第 8 回 > 分 け る DOS / V ユ ー サ 必 読 , PC -9801 フ ォ ー マ ッ ト を CO PUTER LANGUAGE 提 携 記 事 旧 M 互 換 機 で 読 む 's Minding the Store? Reference Counting in C 十 十 編 集 後 記 ◇ 免 許 皆 伝 ・ 奥 義 伝 授 ・ 疑 ◇ 我 が 家 の MT ー 32 と CM ー ◇ 「 世 界 大 百 科 事 典 』 ( 平 凡 ◇ 一 日 中 机 に 向 か う 仕 事 だ ◇ 現 代 っ 子 は 骨 が 弱 い ら し 社 刊 ) の CD-ROM 版 が て 、 る 。 か ら , た ま の 休 日 に テ ニ ス 問 氷 解 ・ 相 伝 ・ 直 伝 ・ 秘 伝 ・ い の だ が , 何 歳 く ら い ま て 、 32P は , 今 の と こ ろ は 拡 張 ズ バ リ 解 決 ・ 快 刀 乱 麻 ・ が 現 代 っ 子 と い う の に あ て ス ロ ッ ト の ひ と つ を 占 め る 全 31 巻 , 重 量 約 50K グ ラ ム に 興 じ る の は い い と 思 う 。 は ま る の だ ろ う 。 転 ん だ 拍 の 事 典 カ ℃ DI 枚 , た っ た の し か し , ど ん な ス ポ ー ツ に 刀 両 断 ・ 萬 お ま か せ ・ ・ ・ ・ ・ ・ つ MIDI イ ン タ フ ェ イ ス に 接 も 危 険 は あ る 。 気 を 入 れ な と い ろ い ろ 悩 ん て 、 結 局 子 だ っ た の だ が , ち ょ っ と 続 さ れ て い る 。 し か し , マ シ 15 グ ラ ム に ! 部 屋 は 狭 い 「 Dr. 望 洋 の プ ロ グ ラ 。 重 い 捻 挫 だ ろ う と 思 っ て 医 し 検 索 も 面 倒 だ し , と 百 い と ケ ガ の 元 だ 。 常 日 頃 の ン の メ モ リ は 2M バ イ ト と 無 精 と 怠 慢 プ レ ー て 、 考 え ら ン グ 道 場 」 に な り ま し た 。 者 に 行 く と , 折 れ て い る と や や 少 な め 。 そ の う ち メ モ 科 事 典 を 買 う の を た め ら っ て い た が , こ れ は 購 入 の 検 皆 さ ん か ら の 情 報 が 記 事 に れ ぬ 骨 折 を す る の は ス ポ ー い わ れ そ の ま ま ギ ブ ス 。 歩 リ も 増 設 し な く て は い け な く と 痛 い か ら 松 葉 杖 て も 借 討 の 必 要 あ り 。 た だ , お 値 ツ マ ン に あ る ま じ き こ と 。 反 映 さ れ る コ ー ナ ー て す 。 い だ ろ う な あ 。 そ う な る と , 段 が 20 数 万 円 。 そ れ だ け の 照 れ 隠 し に 「 疲 労 骨 折 」 と よ ろ し く お 願 い い た し ま す 。 り よ う と 思 っ て い た だ け な メ モ リ ポ ー ド と イ ン タ フ ェ イ ス ポ ー ド を い ち い ち 差 し 価 値 が あ る こ と は 十 分 認 め 言 う の は 理 解 て き な く も な と こ ろ て 、 , 「 対 話 式 タ イ ト ル の に 。 何 に し て も 疲 労 骨 折 い が , W よ , 通 院 ま て サ ポ 自 動 生 成 プ ロ グ ラ ム 」 作 り 替 え な が ら 使 う の か 。 使 い る の だ け れ ど も , グ ラ ム 単 だ っ た と 言 う の だ け は 避 け 価 が ・ ・ ・ る ん じ ゃ な い ! ( ホ ) ま せ ん か ? > S さ ん 。 ( 洋 ) (Yas) た い の だ (JUN) に く そ う だ な あ 。 ( TEN ) 発 行 人 孫 正 義 編 集 人 橋 本 五 郎 発 行 所 ソ フ ト バ ン ク 株 式 会 社 出 版 事 業 部 〒 28 東 京 都 港 区 高 輪 2- 円 - ロ NS 高 輪 ビ ル 編 集 部 ・ TEL03 ( 5488 ) ロ / 出 版 営 業 部 ・ TEL03 ( 5488 ) ロ 60 / 広 告 営 業 部 ・ TEL03 ( 5488 ) ロ 65 編 集 長 星 野 慎 ー 副 編 集 長 宮 田 洋 一 流 王 天 編 集 渡 辺 淳 一 高 森 昭 安 広 告 丹 羽 弘 祐 斎 藤 誠 一 郎 安 枝 奈 穂 子 校 正 ( 有 ) ア レ フ デ ザ イ ン 持 田 哲 花 本 浩 一 赤 井 晴 美 機 部 進 監 修 石 田 晴 久 印 刷 凸 版 印 刷 株 式 会 社 / 写 植 株 式 会 社 風 芽 0 円 92 雑 誌 図 325 ー 8 な お 、 予 告 内 容 を 変 更 す る 場 合 が あ り ま す 。 特 別 記 事 プ ロ グ ラ ム ・ ノ ヾ ク の お 問 い 合 わ せ 03 ( 5488 ) 1325 月 刊 MAGAZINE 8 月 号 平 成 4 年 8 月 一 日 発 行 ・ 掲 載 記 事 、 プ ロ グ ラ ム に つ い て の ご 質 問 は 、 月 曜 日 か ら 金 曜 日 の 午 後 4 時 か ら 6 時 ま て 、 受 け 付 け て お り ま す 。 そ の 他 の 時 間 帯 は ご 容 赦 く だ さ い 168 C MAGAZINE 1 2 8

月刊 C MAGAZINE 1992年8月号


、 を Å Üd. ヨ 99 。 : = ・ Ⅳ 4 No. 8 ー 毎 月 工 工 目 発 行 ) 。 第 4 巻 第 8 号 通 巻 35 号 四 90 午 2 月 2 日 第 3 種 郵 便 物 認 可 : 92 年 8 月 十 Ted Nel son ( 2 ) 情 報 シ ス x 。 。 。 d 。 開 発 者 ProgrammIng on Purpose qransforming stringsJ p. J. 日 。 。 g 。 。 ・ ・ 1991 年 JO 賞 の 発 表 COMPUTER LANGUAGE 提 携 記 事 And The Winnerls. フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト く 第 32 回 〉 パ ソ コ ン ど う し で 熱 い 闘 い 野 口 雄 平 ・ ・ 。 = PC -9801 グ ラ フ ィ ッ ク ラ イ プ ラ リ 作 成 入 門 野 村 広 ・ ・ PART 1 ・ PC ー 9801 グ ラ フ ィ ッ ク の 基 礎 PART 2 ・ 点 か ら 線 へ PART 3 ・ ア ニ メ ー シ ョ ン の 作 成 D 「 . 望 洋 の プ ロ グ ラ ミ ン グ 道 場 新 連 載 ・ ・ ・ 63 く 第 1 回 〉 標 準 入 出 力 ラ イ プ ラ リ 柴 田 望 洋 ・ ・ C プ ロ グ ラ ミ ン グ 入 門 く 第 5 回 〉 配 列 と ポ イ ン タ 奥 村 晴 彦 ・ Step by Step HellO GCC World く 第 10 回 〉 contributed software 安 田 英 之 ・ ・ ・ djgcc 詳 解 講 座 新 MS ー DOS プ ロ グ ラ ミ ン グ 入 門 く 第 23 回 〉 バ ッ チ フ ァ イ ル 管 理 プ ロ ッ ク 中 島 信 行 ・ ・ C プ ロ グ ラ マ の た め の Try The C 十 十 く 第 2 回 〉 ク ラ ス 機 構 ( そ の 1 ) 山 本 浩 文 ・ 白 倉 伸 一 郎 ・ ・ ・ C 十 十 入 門 講 座 恥 す か し な か ら ド シ り ま し た く 第 33 回 〉 考 え れ ば 考 え る ほ ど 条 件 整 備 の 課 題 が 大 き い 岩 谷 宏 ・ C 言 語 フ ォ ー ラ ム プ ロ グ ラ ミ ン グ の 工 ッ セ ン ス く 第 7 回 〉 。 名 前 。 結 城 浩 ・ ・ ・ ・ 102 ー 田 典 玄 の ラ ン ダ ム ア ク セ ス く 第 14 回 〉 Rambus の 話 ・ ・ ・ 108 痛 快 工 ッ セ イ ANSI C ー more く 第 14 回 〉 型 に つ い て ( 1 ) き だ あ き ら 110 C の 道 具 箱 く 第 26 回 〉 レ ー サ プ リ ン タ の 制 御 ④ 豊 国 永 健 ・ ・ ・ ・ 118 応 用 C 言 語 G CC Ver. 2 の 移 植 と G 十 十 く 第 3 回 〉 X68000 版 G + + ver. 1 4 。 .3 ② 吉 野 智 興 ・ ・ ・ 126 X68k 活 用 講 座 N etWa re 対 応 ア プ リ ケ ー シ ョ ン 作 成 の 基 礎 知 識 酒 井 正 克 ・ ・ ・ ・ 131 特 別 記 事 ウ イ ン ド ウ イ ン タ ブ リ タ 「 WINT 「 . 2.0 」 円 羽 信 夫 ・ 最 新 環 境 開 発 レ ポ ー ト 平 成 4 年 度 秋 期 第 2 種 情 報 処 理 技 術 者 試 験 応 募 要 項 ・ ・ ・ ・ ・ 142 C MAGA News Square 148 lnformation from Compiler Makers マ イ ク ロ ソ フ ト ・ ・ ・ ・ ・ 150 フ ィ ン ロ ー ダ の あ っ ぱ れ こ 意 見 番 く 第 4 回 〉 0 要 素 へ ・ ・ ・ lnformation from Compiler Makers 工 ル ・ エ ス ・ ア イ ジ ャ パ ン / ラ イ フ ボ ー ト ・ ・ ・ ・ ・ 154 C マ ガ 電 脳 ク ラ ブ く 第 17 回 〉 テ ィ ス コ ン 吉 柄 貴 樹 ・ ・ ・ ・ 156 lnformation from Compiler Makers シ ャ ー プ / テ ッ ク ソ フ ト & サ ー ビ ス 158 円 羽 信 夫 の 迷 走 プ ロ グ ラ ミ ン グ く そ の 8 〉 に せ も の を 追 え ・ ・ ・ ・ 160 lnformation from CompiIer Makers ボ ー ラ ン ド ・ ・ Readers' Room テ ィ ス ク 内 容 の お 知 ら せ EDITORS' ROOM ・ ・ ・ 168 ・ 本 記 事 中 の プ ロ グ ラ ム 名 , シ ス テ ム 名 , CPU 名 は 一 般 に 各 メ ー カ ー の 登 録 商 標 で す 。 本 文 中 で は TM , ⑧ マ ー ク は 明 記 し て い ま せ ん 。 ・ 本 誌 お よ び 付 録 デ ィ ス ク に 掲 載 さ れ た す べ て の プ ロ グ ラ ム は 著 作 権 法 上 , 個 人 で 使 用 す る 目 的 以 外 で 無 断 で 復 製 す る こ と は 禁 し ら れ て い ま す 。 表 紙 ・ イ ラ ス ト レ ー シ ョ ン ・ 秋 山 育 / テ サ イ ン ・ 持 田 哲 Publisher. Masayoshi Son Publishing Director GO 「 0 Hashlmoto Editor-i n-Chlef ・ Shlmchi Hoshl no Manager Of sales and Advertising. YOShiO GOShima EditoriaI and Business 0ffices: NS Takanawa BIdg . 2-19-13. Takanawa. M lnato-ku. TOkYO 108 Ja pan Editorial: Phone ( 03 ) 5488-1318 Sales: Phone ( 03 ) 5488-13 団 Advertlsi ng. TOkyo Phone ( 03 ) 5488-1365 0saka. Phone ( ) 264-1471 copyright ⑥ 1 四 2 SOFTBANK Corporation. TOkyo. AII rights reserved. NO matenalin thlS publlcatlon may be 肥 p 「 面 乢 ed. in whOle 0 「 in part, in any form without permission. Printed in Japan. 巻 頭 イ ン タ ビ ュ ー 2 3 ・ ・ ・ 34

月刊 C MAGAZINE 1992年8月号


知 り た い 時 が 欲 し い 時 情 ・ 報 ・ を ・ お ・ ・ が ・ し . ま ・ す こ ち ら の ハ ガ キ 蕉 お 申 し 込 さ い 。 広 告 資 料 請 求 カ ー ド 記 入 例 0 い い 広 告 資 料 講 求 カ ー ド MAGAZINE 広 告 資 料 請 求 シ ス テ ム - 受 取 人 ) 8 東 京 都 港 区 高 輪 zcn 高 輪 ビ ル ソ フ ト ・ ハ ン ク 株 出 版 事 業 部 広 告 営 業 部 行 0 効 8 8 有 年 で 1 出 ~ ま 料 金 受 取 人 払 高 承 認 産 第 分 野 ) ・ れ 人 り 一 ・ ケ . 物 ・ を ・ ・ に 0 を ト ( た れ コ ン ビ ュ ー タ 測 達 2. ・ 業 ・ 鉱 業 3. 建 設 業 4. 製 造 業 5. 商 社 ・ 売 り 小 売 業 7. 融 業 物 . 諸 券 ・ 保 験 襄 イ 、 勦 業 IO. 茂 輸 業 . サ ー ビ ス 文 に . 公 務 ロ . 教 係 . 療 関 係 に . 送 ・ 出 版 川 . そ の 他 ( 職 覆 ) I. 企 襄 経 営 2. 商 サ ー ビ ス ・ 自 営 3. 理 職 の 門 員 5. 技 職 6. 事 務 7. 級 ん 職 サ ー ビ ス 織 9. 教 師 川 . ? 生 . そ の 他 ( 主 に 使 用 す る コ ン ビ ュ ー タ ) 代 -9 ル 一 石 ぶ ・ 求 し た い 書 号 を 選 び A ・ 日 ・ C の 希 望 の 項 目 に 0 印 を 付 け て 下 さ い 。 ( ( A. カ タ ロ グ 送 付 希 望 . B. 直 接 設 引 を 剿 き た い . c. 講 人 希 望 ) ・ ・ ポ ー ラ ン ド ジ ャ パ ン C 185 ・ ・ ・ 新 シ ス ナ ム リ ン ク A 8 C F03 ・ 又 ル エ ス ア イ ジ ャ ′ ー ン 0 8 C 6 ・ ラ ン ハ ー ド A 8 0 ・ ・ ナ ッ ク ゾ フ ト & サ ー ビ ス A 8 C ー 81 ・ ・ 富 ッ フ ト ウ ュ ア A 8 C CSD A 8 C ー ・ ・ 電 気 A 8 C ・ ・ ・ ビ ッ ト ラ ン A 0 C 2 ・ ・ マ グ 0 ウ ヒ ル 出 版 A ー B 0 ・ 004 ・ ・ 富 ゼ 。 叫 ン ム A ー 8 ・ C 303 ・ ・ 富 l: ゾ フ ト ウ 又 ア ー ・ 8 ・ ・ ト ッ パ ン A 8 C 175 ・ ナ イ ツ ? ス 0 旦 ー C 85 A 8 C ・ ・ ア ー セ ル 生 : 8 C ー ・ ・ ビ い ル ・ セ ン タ ー A 8 C 119 ・ 新 マ イ ク 0 コ ン ヒ ュ ー A ・ 0 C 195 ・ 8 c ・ 事 ナ レ ッ ジ ・ ッ ス ・ ・ ・ ツ ー ル タ ラ フ ト A 8 0 ー % ・ ア フ リ ・ , ク ス A 8 C 、 ヘ .. 8 0 ・ ・ 黔 ・ ら ス ド 十 - わ い : - : A 8 C ・ 事 冫 ス チ ム . A 日 C 85 ・ を ッ カ 商 事 A B C 183 " ・ ル な 弋 ・ ン し ス 望 A 8 C 的 ・ ・ ・ 情 報 れ 理 所 A 8 C 広 告 を こ 覧 に な っ て 、 よ り 詳 し い 製 品 内 容 を 知 り た い 、 直 接 商 品 説 明 を 聞 き た い 、 商 。 そ の よ う な こ 要 望 を 品 を 購 入 し た い ・ ・ お 持 ち に な っ た 方 は 、 こ の 広 告 資 料 請 求 シ ス テ ム を こ 利 用 下 さ い 。 ス ピ ー テ ィ に 、 広 告 主 か ら ノ ヾ ン フ レ ッ ト 等 こ 要 望 に 基 づ い て 情 報 提 供 が 受 け ら れ ま 魂 本 誌 と じ 込 み の 広 告 資 料 請 求 カ ー ド に 、 必 要 事 項 を こ 記 入 の 上 、 こ 投 函 下 さ い 。 ( 沖 ・ 、 ト 4 月 号 こ の カ ー ト の 有 効 期 は 一 知 年 6 月 日 ま で で す . 名 よ ね こ 年 齢 0 03 ぐ 新 創 / 3 る タ ソ 7 ト バ 、 ン ク 応 用 技 印 を 付 け ) て く た さ い , 物 務 先 広 告 主 広 告 主 広 告 主 ・ 広 告 資 料 請 求 番 号 は 各 頁 の 下 欄 に ・ 氏 名 の フ リ ガ ナ 、 電 話 番 号 、 こ 住 所 の 番 地 ま で 、 正 確 に こ 記 入 下 さ 己 し て あ り ま す 。 ・ 広 告 資 料 請 求 カ ー ド は 、 お 手 数 で い 。 資 料 か 正 し く お 届 け 出 来 な い 宛 名 シ ー ル を 提 供 場 合 も こ ざ い ま す 。 も 全 項 目 に こ 記 入 下 さ い 。 重 ソ フ ト ^ ン ク 株 式 会 社 〒 / 0 8 告 求 広 請 〒 れ 送 り 先 読 者 の 皆 様 工 会 社 名 資 料 送 付 ソ フ ト バ ン ク 出 版 事 業 部

月刊 C MAGAZINE 1992年8月号


Borland C 十 十 Turbo C 十 十 Q Borland C 十 十 3.0 は , DPMI に だ け 対 応 し て , VC 円 に は 対 応 し て い な い と い う の は 事 実 で す か 。 A Borland C 十 十 3.0 は , DPMI に も VCPI に も 対 応 し て い ま す 。 し た が っ て , VCPI に 対 応 し た 仮 想 8 6EMS ド ラ イ バ が 組 み 込 ま れ て い る 場 合 て も , Windows の エ ン ハ ン ス モ ー ド に お け る DOS プ ロ ン プ ト て も 実 行 て 、 き ま す 。 も し , VCPI 対 応 の ド ラ イ バ が 使 わ れ て い る の に Bo rlandC 十 十 が 起 動 て き な い と い う こ と て 、 あ れ ば , メ モ リ 不 足 の 可 能 性 も 考 え ら れ ま す の て 、 , 最 低 限 必 要 な デ バ イ ス ド ラ イ バ 以 外 は す へ て 取 り 外 し て か ら 試 し て み て く だ Q ク ラ ス の 中 で バ ッ フ ア の 大 き さ を 指 定 す る の に const 変 数 を 使 い た い の で す が , コ ン バ イ ル エ ラ ー に な っ て し ま い ま す (List 1 ) 。 C 十 十 で は , const 変 数 は #define の か わ り と し て 定 数 と 同 じ よ う に 使 え な い の で す か ? A ク ラ ス 内 て 、 は , 変 数 の 実 体 を 定 義 す る こ と は て 、 き ま せ ん 。 ま た , c 。 nst 変 数 は 宣 言 と 定 義 を 同 時 に 行 わ な け れ ば な り ま せ ん 。 し た が っ て , ク ラ ス 内 て 、 const 変 数 を 定 義 す る こ と は て 、 き ま せ ん 。 こ の 場 合 は , 列 挙 型 を 使 う よ う に し て く だ さ い (List 2 ) 。 Q ク ラ ス の static メ ン バ を 定 義 す る た め に private で 定 義 し た 列 挙 型 の 値 を 使 い た い の で す が , コ ン バ ln れ 川 a ⅱ 行 匪 m 町 ⅱ 計 Ma れ 門 ボ ー ラ ン ド 10 : } 15 : } 16 : } : イ ル エ ラ ー に な っ て し ま い ま す 。 static な メ ン / ヾ か ら private 部 の 識 別 子 を 参 照 す る こ と は で き な い の で す か (List 3 ) 。 A private て 、 定 義 さ れ た 識 別 子 は , ク ラ ス 定 義 の 内 部 か , メ ン バ ー 関 数 の 中 か ら し か ア ク セ ス て 、 き ま せ ん ( friend 宣 言 さ れ た も の を 含 む ) 。 し た が っ て , ク ラ ス や メ ン バ 関 数 の 外 部 て デ ー タ メ ン バ を 定 義 し た り 初 期 化 す る た め に private 部 の 値 を 使 用 す る こ と は て 、 き ま せ ん 。 こ の 場 合 は , public 部 て 、 定 義 す る よ う に し て く だ さ い 。 static な メ ン バ 関 数 か ら private 部 の 識 別 子 を 参 照 す る こ と は 可 能 て 、 す 。 Q I/O ス ト リ ー ム ク ラ ス を 使 0 た 出 力 (cout) と 標 準 入 出 力 関 数 に よ る 出 力 (stdout) を 併 用 し て い ま す が , リ ダ イ レ ク ト す る と 出 力 順 序 が 変 わ っ て し ま い ま す 。 な ぜ で し よ う か 。 0 シ ュ す る よ う に し て く だ さ い 出 力 後 に バ ッ フ ア の 内 容 を フ ラ ッ が , ど う し て も 併 用 さ れ る 場 合 は ー し て お く ほ う が 望 ま し い の て 、 す ど ち ら を 使 っ て 入 出 力 を 行 う か 統 り ま す 。 ひ と つ の プ ロ グ ラ ム て 、 は , 力 の タ イ ミ ン グ が ず れ る こ と が あ し た バ ッ フ ァ リ ン グ 処 理 に よ り 出 ム ク ラ ス と 標 準 入 出 力 関 数 の 独 立 ク デ バ イ ス の と き は , I/O ス ト リ ー 出 力 先 が フ ァ イ ル の よ う な プ ロ ッ 字 単 位 て 、 フ ラ ッ シ ュ さ れ ま す が , ラ ク タ デ バ イ ス て 、 あ れ ば 出 力 は 文 力 を 行 っ て い ま す 。 出 力 先 が キ ャ 標 準 入 出 力 関 数 と は 独 立 し て 入 出 通 常 , I/O ス ト リ ー ム ク ラ ス と A ク ラ ス 内 で const 変 数 を 定 義 し た 例 1 : class fOO { 2 : const int num = 100 : / / Error! char buffer Cnun] ; 3 : 4 : public: foo() ; 5 : List 1 List 1 を 列 挙 型 を 使 用 し て 修 正 1 : class foo ( enum { num = 100 : ) 2 : char bufferCnum]; 3 : 4 : public: foo ( ) : 5 : List 2 ク ラ ス の static メ ン ノ ヾ の 定 義 に p 「 ivate で 定 義 し た 値 を 使 用 し た 例 1 : class rock ( enum ( SIZE ニ 256 ) ; 2 : 3 : public: static char buffer[SlZE]; 4 : 6 : char rock: :bufferCrock: :SIZE]; / / Error! 2 桁 の 数 値 を 入 力 し て 表 示 す る プ ロ グ ラ ム List 3 List 4 int getdigit() 2 : #include く coniO. h> 1 : #include く ctype. h> 3 : 5 : 6 : 7 : 8 : 9 : 11 : 14 : int c; do { c = getch(); ) while (!isdigit(c)); return C : 12 : void min() printf( ” XcXc*n ” , getdigit(), getdigit()) : 1 : void min() List 5 List 4 main() の 修 正 3 : 4 : 5 : 6 : int 01 , c2 : cl = getdigit() ; c2 = getdigit(); printf( ” XcXc*n ” , cl, c2); Fig. 1 List 6 で 期 待 し て い た 出 力 A: : A ( 123 ) : B ( 123 ) C : : C ( 123 ) コ ン ス ト ラ ク タ の 呼 び 出 し が う ま く 行 わ れ な い 例 List 6 A(int i) ( printf( ” A: :A(Xd)%n", i); } public: 2 : class A { 1 : #include く s iO. h > 19 : 15 : 14 : 10 : 9 : 5 : 4 : 3 : C obj ( 123 ) : 17 : void min() C(int i): B(i) { printf("C::C(Xd)%n ” , i); } 13 : public: 12 : class C: virtual public B ( B(int i): A(i) { printf("B::B(Xd)*n ” , i); ) 8 : public: 7 : class B: ⅵ 「 t 聞 1 public A ( List 7 引 数 っ き コ ン ス ト ラ ク タ が 呼 び 出 せ る と 不 都 合 と な る 例 12 : public: 11 : class A: virtual public V ( 10 : / / V か ら 派 生 し た ク ラ ス A V(int i) { printf("V::V(Xd)%n ” , i); ) 5 : public: 4 : class V { 3 : / / 仮 想 基 本 ク ラ ス V 1 : #include く stdiO. h> 9 : 7 : 6 : 2 : 162 C MAGAZINE 1992 8

月刊 C MAGAZINE 1992年8月号


シ ョ - ム OPEN*I! 目 ピ ル MAC で 画 像 処 理 00 モ ニ タ 募 集 綴 じ 込 み 葉 書 で こ 応 募 く だ さ い BORLAND C 十 十 Ver. 3. O C 教 授 の 基 礎 講 座 Ver. Ⅱ 1 名 提 供 : セ イ ユ ー シ ス テ ム ズ ( 株 ) 提 供 : ボ ー ラ ン ド ( 株 ) TEL 03 ( 5377 ) 1632 TEL 03 ( 5350 ) 9370 載 授 の 講 2 名 阿 ・ s ー *ST NOI EDGE SHKII 汀 H REL*X FO し に R1 FO し に ・ ! 亠 コ ロ イ 引 2 ー 0 ゆ 21 0 p 22 5 は ・ 「 ・ の 0 市 000 め ・ DOS 環 境 , Windows 環 境 の 両 方 に 対 応 し た プ ロ 仕 様 の ゲ ー ム 感 覚 で C 言 語 を 学 べ る 教 材 ソ フ ト ( PC ー 9801 シ リ C & C 十 十 コ ン バ イ ラ ー ズ , 3.5 " ・ 5 " 各 1 名 ) PracticaI C Programming COMPUTER I.ANGUAGE 提 供 : ソ フ ト バ ン ク 5 名 提 供 : C マ ガ ジ ン 編 集 部 現 実 的 な C プ ロ グ ラ ミ ン グ 5 併 ル 損 racticalC 00 ・ 第 on tOOk ー 99 ー ・ ( 0n0 ー 新 登 場 ! ! MAC HEART DATABASE SYSTEM PTCA VERSION ! ! ! 2 名 MS - DOS ユ ー ザ と UN Ⅸ ユ ー ザ の た め の C 言 語 の 入 門 書 ・ 応 募 の 注 意 ◇ 綴 じ 込 み の 葉 書 に 必 要 事 項 ( ア ン ケ ー ト の 効 と さ せ て い た だ き ま す 。 回 答 , 住 所 , 氏 名 , 電 話 番 号 , 希 望 モ ニ タ ◇ モ ニ タ に 当 選 さ れ た 方 に は , 後 日 ア ン ケ ー 番 号 ) を 明 記 の う え こ 応 募 く だ さ い 。 ト な ど の 形 式 で 編 集 に こ 協 力 い た だ き ま す 。 ◇ 記 入 も れ や モ ニ タ 番 号 が 複 数 記 入 さ れ て い ご 了 承 く だ さ い 。 る 場 合 , 綴 じ 込 み 葉 書 以 外 で の こ 応 募 は 無 ◇ 締 め 切 り は 8 月 18 日 必 着 で す 。 ⑩ 三 田 典 玄 の ラ ン ダ ム ア ク セ ス ② Programming on Purpose @ANSI C ー more ③ 提 携 記 事 「 1991 年 JOLT 賞 」 ⑩ 応 用 C 言 語 C の 道 具 箱 ④ フ リ ー ソ フ ト ウ ェ ア 最 新 レ ポ ー ト ⑩ X68k 活 用 講 座 綴 じ 込 み 葉 書 裏 面 の ⑤ 特 集 「 PC ー 9801 グ ラ フ ィ ッ ク ~ 」 ⑩ 特 別 記 事 「 Net Ware 対 応 ~ 」 記 事 評 価 ア ン ケ ー ト ⑥ プ ロ グ ラ ミ ン グ 道 場 ⑩ 環 境 開 発 「 WINT Ver. 2 」 に は 右 記 の 数 字 を こ ⑦ 実 践 C プ ロ グ ラ ミ ン グ 入 門 ⑩ News Square ⑧ 切 gcc 詳 解 講 座 He GCC worid @lnformation from Compiler ・ ・ 記 入 く い 。 ⑩ 澵 MS - DOS プ ロ グ ラ ミ ン グ 入 門 の フ ィ ン ロ ー ダ の あ つ ば れ ご 意 見 番 ⑩ C + + 入 門 講 座 ℃ マ ガ 電 脳 ク ラ ブ 丹 羽 信 夫 の 迷 走 プ ロ グ ラ ミ ン グ ⑩ C 言 語 フ ォ ー ラ ム ⑩ プ ロ グ ラ ミ ン グ の 工 ッ セ ン ス @Readers' room MAC ト モ A 只 ' Oata 、 ・ MAC HEART D ・ 一 一 ー ・ チ ー タ ー ス ′ リ ス ト PTCA ・ 00 引 ー 3F シ ョ ー ル ー ム に て 興 味 の あ る 方 は せ ひ 遊 び に 来 て 下 さ い 。 P な 臀 「 4 ′ 宿 海 は M ー 1 Apr. Staff 大 募 集 中 ど う せ 働 く な ら 楽 し く 働 こ う 弊 社 は 医 療 を 中 心 と し た ソ フ ト を 作 り 続 け て 3 年 、 今 ま で に 現 場 て 使 わ れ て い る 各 種 の シ ス テ ム を 設 計 し て 来 ま し た 。 今 後 共 、 プ ロ グ ラ マ ー ・ SE の 方 々 に 様 々 な チ ャ ン ス を し て い き た い と 考 え て お り ま す 。 ( 医 療 の 知 識 は 特 に 必 要 あ り ま せ ん ) 気 楽 に 電 話 下 さ い 。 株 医 療 ソ フ ト サ ポ ー ト セ ン タ ー TEL. 03 ー 5995 ー 7320 内 山 ま て 有 楽 町 線 小 竹 向 原 駅 す く く 資 料 請 求 番 号 166 〉 166 C MAGAZINE 1 2 8

月刊 C MAGAZINE 1992年8月号


國 囚 圃 国 第 ア リ ス イ ン タ ー ナ シ ョ カ レ C MAGAZINE Access Card を こ 利 用 く だ さ い 。 C MAGAZINE ア ン ケ ー ト カ ー ド を こ 利 用 く だ さ い を の ・ 本 東 京 都 新 宿 区 市 ヶ 谷 本 村 町 社 戸 沂 3 ー 22 ナ カ バ ビ ル 9F 〒 162 在 容 ( 03 ) 3266 ー 0711 代 D ア ■ 企 業 デ ー タ 設 立 1969 年 4 月 資 本 金 4 億 円 ( グ ル ー プ 全 体 ) 売 上 高 1 意 円 ( 1990 年 月 期 実 績 ) 従 業 員 数 1 ) 名 事 業 内 容 事 務 系 ア プ リ ケ ー シ ョ ン 制 御 系 通 信 ネ ッ ト ワ ー ク 等 パ ソ コ ン ソ フ ト パ ッ ケ ー ジ 開 発 関 連 会 社 株 M ・ I ・ S イ ン タ ー ナ シ ョ ナ 米 国 法 人 M ・ I ・ S ・ C 。 ・ LTD , 、 ト 怯 人 M ・ I ・ S AUSTRALIAPTY ・ L TD, ( を 営 情 報 科 学 研 究 所 , 株 M ・ I ・ S グ ラ フ ィ ッ ク ス , (fiM ・ I ・ S フ ァ イ ン ズ , (ftl ・ C ・ A 使 用 言 語 C 言 語 、 COBOL, PL/I, ASM, RPG, FORTRAN, 他 す べ て の 言 語 使 用 機 種 IBM, 富 士 通 , 日 立 , NEC, VAX, ュ ニ シ ス 他 ・ 募 集 要 項 職 重 シ ス テ ム エ ン ジ ニ ア , プ ロ グ ラ マ , オ ペ レ ー タ 資 格 高 卒 以 . ヒ , 男 女 , 年 20 ~ 35 歳 位 迄 の 経 験 者 , 学 生 不 可 給 与 S E : 50 万 ~ 65 万 円 P G : 30 万 ~ 50 万 円 O P : 20 万 ~ 35 万 円 薑 カ 務 時 間 9 : 00 ~ 17 : 30 ( 一 部 フ レ ッ ク ス の 場 所 も 有 り ) 休 日 完 全 週 休 2 日 制 , 祝 祭 日 応 電 話 連 絡 の 上 , 履 歴 書 ( 写 真 貼 付 ) を 持 参 下 さ い ※ 面 接 交 通 費 , 一 律 180 円 支 給 ※ Bing, フ ロ ム A, と ら ば ~ ゆ , C マ ガ ジ ン , 日 経 コ ン ピ ュ ー タ 毎 号 掲 載 中 交 通 JR ・ 都 営 新 宿 線 ・ 有 T 線 市 ヶ 谷 駅 下 車 走 歩 5 分 面 接 場 所 東 京 都 新 宿 区 市 谷 本 十 丁 3 ー 22 ナ カ バ 、 ビ ル 9F 〒 162 谷 ( 03 ) 32 -0711 担 当 / 牧 野 , 佐 藤 優 雅 な 生 活 の 創 造 SE ・ プ ロ グ ラ マ ー オ ペ レ ー タ ( 各 契 約 社 員 ) SE: 5 ロ 万 ~ 65 万 円 PG: 3 ロ 万 ~ 5 ロ 万 円 OP: 2 ロ 万 ~ 35 万 円 只 夬 ・ 只 夬 責 イ 壬 を 十 寺 っ て 只 夬 致 し ま す 勤 務 場 所 都 内 各 所 ・ 市 谷 ・ 新 宿 ・ 高 田 馬 場 ・ 渋 谷 ・ 池 袋 ・ 茅 場 町 ・ 新 橋 ・ 五 反 田 ・ 品 川 ・ 日 暮 里 ・ 国 立 ・ 学 芸 大 学 ・ 大 手 町 ・ 田 町 ・ 目 黒 ・ 神 田 ・ 曙 橋 ・ 秋 葉 原 ・ 中 目 黒 ・ 立 川 ・ 蒲 田 ・ 千 葉 ・ 船 橋 ・ 溝 の ロ ・ 横 浜 ・ 新 横 浜 ・ 関 内 ・ 天 王 町 ・ 川 崎 ・ 浜 松 町 ・ 大 森 ・ 赤 坂 ・ 大 船 ・ 大 塚 ・ 亀 戸 ・ 府 中 ・ 王 子 ・ 我 孫 子 ・ 柏 ・ 鎌 倉 ・ 高 井 戸 ・ 八 王 子 ・ 春 日 ・ 尻 手 ・ 東 村 山 ・ 浜 町 ・ 葛 西 臨 海 公 園 ・ 海 浜 幕 張 ・ 千 葉 港 ・ 厚 木 ・ 武 蔵 境 ・ 御 成 門 ・ 市 原 ・ 三 鷹 ・ 大 宮 ・ 麹 町 ・ 綱 島 ・ 武 蔵 中 原 ・ 新 浦 安 ・ 門 前 仲 町 ・ 大 崎 ・ 青 山 ・ 六 本 木 ・ 四 谷 ・ 晴 海 ・ 赤 坂 見 附 ・ 西 船 橋 ・ 桜 木 町 ・ 東 神 奈 川 ・ 江 田 ・ 市 が 尾 ・ 君 津 ・ 磯 子 ・ 横 須 賀 ・ 浦 和 ・ 相 模 原 ・ 町 田 ・ 品 川 ・ 戸 塚 ・ 羽 田 ・ ハ 幡 宿 ・ 土 浦 ・ 水 戸 ・ 他 都 内 周 辺 ※ 名 画 、 花 と 緑 の 美 し い オ フ ィ ス で お 待 ち し て お り ま す ※ 希 望 の 勤 務 地 が 選 べ ま す 東 京 シ ャ ー プ ビ ル 自 衛 隊 ・ 市 ヶ 谷 駐 屯 地 交 番 住 友 市 ヶ 谷 ビ ル 株 ア リ ス イ ン タ ー ナ シ ョ ナ ル ナ カ バ ビ ル 9F ← 新 宿 C .MAGAZINE 1992 ・ 8

月刊 C MAGAZINE 1992年8月号


SOFT BANK 新 し い C 言 語 の 定 本 、 つ い に 登 場 ! 。 PracticaI C Programming 現 実 的 な C プ ロ グ ラ ミ ン グ Steve OualIine 著 岩 谷 宏 訳 MS-DOS ユ ー ザ ー と UNIX ユ ー ザ ー の た め の C 言 語 の 本 格 的 入 門 書 、 つ い に 刊 行 。 現 在 圧 倒 的 な 人 気 と 信 頼 を 誇 る 、 O'Reilly & Associates , lnc. の NUTSHELL シ リ ー ズ の 1 冊 で す 。 単 に 文 法 の 解 説 に と ど ま ら ず 、 仕 様 決 定 か ら 、 デ バ ッ ク 、 完 成 、 発 表 、 改 版 ま で 、 プ ロ グ ラ ミ ン グ の 全 過 程 に わ た っ て 解 説 。 初 級 者 か ら 中 ・ 上 級 者 ま で の す べ て の C プ ロ グ ラ マ を 対 象 と し た 、 C の 入 門 書 で す 。 CONTENTS プ ロ グ ラ ム の 書 き 方 の 基 本 / ス タ イ ル / 宣 言 と 式 の / / 配 列 、 修 飾 子 、 数 値 を 読 む / 決 定 文 と 制 胸 文 / プ ロ グ ラ ミ ン グ の 過 / そ 也 の 制 胸 文 / 変 数 の ス コ ー プ と / C の プ リ プ ロ セ ッ サ / ビ ッ ト 操 作 / 高 度 な デ ー タ 型 / な ポ イ ン タ / フ ァ イ ル 出 入 力 / デ バ ッ ク と 化 / 浮 動 ′ 」 点 数 / ポ イ ン タ の 高 度 な 使 い 方 / モ ジ ュ ー ル 的 プ ロ グ ラ ミ ン グ / 性 の / C の 重 箱 の 隅 / 総 ま と め / プ ロ グ ラ ミ ン グ の 各 言 葉 付 録 ASCII の コ ー ド 表 / 数 値 デ ー タ 型 の 値 域 / 演 算 子 の 優 先 順 規 則 / べ き 級 数 を 使 っ て 正 弦 を 計 算 す る プ ロ グ ラ ム / 関 数 の 引 数 に 関 す る 自 動 的 な デ ー タ 型 変 換 A5 判 / 528 頁 定 価 3 ′ 600 円 ( 税 込 ) ◆ C の 世 界 で 遊 ん で み ま せ ん か ? 気 軽 に 楽 し く プ ロ グ ラ ミ ン グ す る コ ツ 、 教 え ま す 。 C の オ モ チ ャ 箱 Amuse yourself with C Prooramming 実 用 的 で 応 用 の き く プ ロ グ ラ ム 10 個 を も と に 、 プ ロ グ ラ ミ ン グ の 楽 し さ と 醍 醐 味 、 実 際 に プ ロ グ ラ ム を 描 く た め の ノ ウ ハ ウ を 紹 介 し て い ま す 。 10 個 の A00 、 。 、 00 , 、 elf 、 、 ith p , , 0g00 , 0 , i , , 。 プ ロ グ ラ ム は そ れ ぞ れ の 場 面 設 定 が な さ れ 、 使 用 し た 関 数 な ど の 具 体 植 村 富 士 夫 的 な 解 説 、 紹 介 し た ツ ー ル の 作 成 方 法 、 使 用 法 と で 構 成 。 ス ク 付 。 CONTENTS T A B ス ト ッ プ は 4 文 字 で / グ 何 文 字 あ る の ? / シ ス テ ム に は オ リ ジ ナ ル カ レ ン ダ ー / 手 始 め の デ ー タ ベ ー ス は イ 鉅 危 泉 で 夬 ま り / / ひ と 味 違 う d ⅳ コ マ ン ド / 2 つ の フ ァ イ ル が 1 つ に 早 変 わ り / 一 寸 一 服 / ほ ん ほ ん 跳 ね て ・ ・ ・ / 数 字 関 数 で 絵 を 描 け ば / こ れ が で き れ ば 立 派 な C プ ロ グ ラ マ B5 変 型 判 / 232 頁 定 価 2 ′ 900 円 ( 税 込 ) ( 全 ソ ー ス / 実 行 フ ァ イ ル 収 録 ) Why DO い 2 + 2 = 5986 ? 現 実 的 な プ ロ グ ラ ミ ン グ racticalC programmmg S に 20 0 〃 i 飛 著 岩 谷 宏 訳 ソ フ ト バ ン ク 株 式 社 き ト し 国 ル い ・ お 近 く の 書 店 で お 求 め く だ さ い 、 。 ソ フ ト バ ン ク 出 版 事 業 部 ~

月刊 C MAGAZINE 1992年8月号


N more ス カ ラ 型 の 値 は 条 件 テ ス ト に 用 い る こ と が で き る List Fig. 2 ス カ ラ 型 の 定 義 ・ scalar types ・ arithmetic types ・ integral types Char ・ signed integer types signed char ” short int i nt long int ・ unsigned integer types unsigned Char unsigned short int unsigned int unsigned long int ・ enumerated types ・ floating types ” float ” ” doub 厄 ” ラ ン ド が 算 術 型 」 て 、 あ る 場 合 か , 「 一 方 の オ に 整 数 格 上 げ が 行 わ れ る か ら て 、 あ る 。 "long double" ペ ラ ン ド が オ プ ジ ェ ク ト へ の ポ イ ン タ 型 て 、 , こ の よ う に , ス カ ラ 型 と そ れ を 構 成 す る ・ pointer types 他 方 が 汎 整 数 型 」 て 、 あ る 場 合 の い ず れ か に 限 部 分 集 合 の グ ル ー ヒ 。 ン グ の 階 層 は , C の 具 体 定 さ れ て い る 。 一 方 , 2 項 の - , す な わ ち 減 的 な 操 作 に 密 接 に 結 び 付 い た 概 念 て 、 あ り , い う 点 て 、 あ る 。 算 演 算 子 の 場 合 に は さ ら に 複 雑 な 条 件 て 、 あ 2 番 目 の 事 実 は List 1 の ( a ) と ( b ) の コ ー デ こ の 階 層 は き ち ん と 記 憶 し て お く ほ う が よ り , 「 両 方 の オ ペ ラ ン ド が 算 術 型 」 て 、 あ る か イ ン グ は ANSI C の 下 て 、 は 等 価 だ と 解 釈 し て い だ ろ う 。 「 両 方 が 被 修 飾 版 も し く は 無 修 飾 版 の 適 合 す よ く , ポ ー タ ビ リ テ ィ 的 に な ん ら 間 題 を 生 最 後 に も う ひ と つ 。 配 列 型 と 構 造 体 型 は , る オ プ ジ ェ ク ト 型 へ の ポ イ ン タ 」 て 、 あ る 場 ま と め て 「 集 成 型 (aggregate types) 」 と 呼 ば じ な い と い う こ と を 意 味 し て い る 。 な ぜ な 合 , 「 左 側 の オ ペ ラ ン ド が オ プ ジ ェ ク ト へ の れ る ( 共 用 体 は 含 ま れ な い こ と に 注 意 ) 。 し ら ば , ス カ ラ 型 に は ポ イ ン タ 型 が 含 ま れ , ポ イ ン タ 型 て 、 , 右 側 が 汎 整 数 型 」 て 、 あ る 場 合 NULL と い う ポ イ ン タ 値 は 暗 黙 の 型 変 換 て 、 か し , 集 成 型 の 概 念 は と り た て て 重 要 て 、 は の 三 つ が 許 さ れ る ( 被 修 飾 版 ・ 無 修 飾 版 と い な い 。 あ え て い え ば 初 期 化 子 (initializer) の 整 数 の 0 に 変 換 さ れ る こ と が 保 証 さ れ て お う 用 語 の 意 味 は 後 述 す る ) 。 説 明 の と き こ の 概 念 を 使 う と 楽 に 説 明 て 、 き り , か っ NULL 以 外 の ポ イ ン タ 値 は 型 変 換 ま た 2 項 の * , / の い わ ゆ る 乗 除 算 演 算 子 の る と き が あ る と い う 程 度 て 、 あ ろ う 。 さ れ た 場 合 に 決 し て 整 数 の 0 に は な ら な い 場 合 に は 「 両 方 の オ ペ ラ ン ド が 算 術 型 」 て 、 あ と が 保 証 さ れ て い る た め , 、 、 ! = NULL" と い 型 修 飾 子 と 表 層 型 れ ば よ い 。 し か し , 剰 余 の % て 、 は 「 両 方 が 汎 う テ ス ト は 省 略 て 、 き る か ら て 、 あ る 。 整 数 型 」 て 、 な け れ ば な ら な い 。 さ ら に , ビ ッ た だ し ,List 1- ( b ) の よ う に if 文 の 条 件 部 ト ご と の AND(&),OR(I ),XOR(A) な ど て 、 代 入 し , そ の 結 果 を List 1 ー ( a ) の よ う に 比 ANSIC て 、 導 入 さ れ た 機 能 て 、 , 少 な か ら ぬ の 2 項 演 算 子 や , 単 項 の ビ ッ ト 反 転 ( ー ) 演 算 混 乱 の も と に な っ て い る 機 能 の ひ と つ に 型 較 し な い て 、 そ の ま ま 用 い よ う と す る と , 最 子 , シ フ ト 演 算 子 ( く く , > > ) の 場 合 に は , 修 飾 子 (type qualifier) が あ る 。 型 修 飾 子 と 近 の 親 切 な コ ン パ イ ラ は 警 告 を 出 す こ と が そ の オ ペ ラ ン ド は す べ て 汎 整 数 型 て 、 な け れ は , const も し く は volatile の わ ず か に 2 種 類 あ る 。 だ か ら 実 際 に は , こ の よ う な コ ー デ ば な ら な い と さ れ る 。 複 合 代 入 演 算 子 が あ る に す ぎ な い 。 そ れ に も か か わ ら ず や イ ン グ は 避 け た ほ う が よ い だ ろ う 。 な お , 「 C 言 語 入 門 」 と い っ た テ キ ス ト て 、 ( 十 = ・ ・ ・ ) に 関 し て は , そ の や こ し い の て 、 あ る 。 「 演 算 子 」 の 制 限 に 準 じ る と 考 え て よ い 。 ま は , if, while, for, do-while な ど の 条 件 部 型 修 飾 子 に 関 連 し て 「 被 修 飾 型 (qualified 分 に は 「 ど の よ う な 式 を 書 い て も か ま わ な い 」 た , switch 文 の 制 御 式 は 汎 整 数 型 て 、 な け れ type) 」 と 「 無 修 飾 型 (unqualified type) 」 と ば な ら ず , case ラ ベ ル は 汎 整 数 型 の 定 数 式 と し て い る も の が し ば し ば 見 受 け ら れ る 。 い う 概 念 が 存 在 す る 。 本 当 は 後 者 は 「 非 修 飾 て 、 な け れ ば な ら な い と い っ た 具 合 て 、 あ る 。 こ れ は , い う ま て 、 も な く 誤 り て 、 あ る 。 型 」 と 呼 び た い の だ が , 同 音 異 義 語 は 混 乱 の な お , 厳 密 な 意 味 て 、 の 整 数 型 だ け が 許 さ 元 な の て 、 , あ え て 「 無 修 飾 型 」 と し て い る こ そ の ほ か の 演 算 子 て 、 は , 適 用 可 能 な 式 の と を ご 理 解 い た だ き た い 。 具 体 的 に は 被 修 型 が ス カ ラ 型 の さ ら に 部 分 集 合 に 限 定 さ れ れ る 局 面 は C に は な い と い っ て よ い 。 そ れ に て い る も の が あ る 。 た と え ば , 2 項 の 十 と い 代 わ っ て 一 般 に 汎 整 数 を 用 い る こ と が て 、 き 飾 型 に は 「 const 被 修 飾 型 (cons-qualified ty る 。 な ぜ な ら ば , 演 算 に お い て 暗 黙 の う ち (e) 」 と 「 volatile 被 修 飾 型 (volatile-qualifie う 加 算 演 算 子 が 適 用 て 、 き る の は 「 両 方 の オ ペ FILE *fp; if ((fp / * オ ー プ ン に 成 功 し た * / fopen( ” fi lename' , FILE *fp; fopen( ” fi lename ” , if (fp / * オ ー プ ン に 成 功 し た * / ANSI C ー more 113

月刊 C MAGAZINE 1992年8月号


List 3 : 4 : 5 : 6 : 7 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 28 : 29 : 31 : 32 : 33 : { 34 : 35 : 36 : 38 : 39 : 40 : 41 : } List 4 : 6 : 8 : 9 : 10 : 11 : 12 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 28 : 31 : 32 : 33 : 34 : 35 : 36 : public: 範 囲 つ き の int ・ 完 成 版 (lntWith 日 ange) 1 : #include く stdio. h> 2 : #include く stdlib. h> const int upper ニ 128 ; const int lower class lntWithRange { int n; VOid error(int i) fprintf(stderr, "IntWithRange: %d out 0f range. ” exit(EXIT FAILURE) ; IntWithRange(int i assign(i); VOid assign(int i) if (i く lower Ⅱ error(i) ; = 1 ) / / 引 数 付 き の コ ン ス ト ラ ク タ 1 upper) { / / 範 囲 の チ ェ ッ ク int int get() return main() n ; IntWithRange range ; / / printf("range = Xd#n ” IntWithRange range2 printf( ” range = Xd*n ” return 0 ; デ フ ォ ル ト 引 数 が 使 わ れ 、 n は 1 に 初 期 化 さ れ る range. get() ) ; / / n は 10 に 初 期 化 さ れ る = 10 ; range2. get()) ; 可 変 個 数 の 配 列 1 : / / 可 変 個 数 の 配 列 2 : #include く stdio. h> 3 : #include く a110C. h> 5 : class VarArray ( int* array : 7 : public: array = (int*)cal loc(), sizeof *array) ; 〃 メ モ リ を 割 り 当 て る 。 C 十 十 の 場 合 キ ャ ス ト は 必 須 VarArray(int n) / / コ ン ス ト ラ ク タ 29 : void main() return array ; int get(int n) arrayCn] VOid assign(int n, int i) printf(" メ モ リ は 解 放 さ れ ま し た 。 ” ): free(array) ; 〃 割 り 当 て た メ モ リ を 解 放 す る 〃 デ ス ト ラ ク タ VarArray() i, arr. get(i)); printf("arrCXdj=Xd}n" for (i = 0 : i く 10 ・ + + i ) arr. assign(), i + 1 ) : fO 「 (int i = 0 : i く 10 ; + + i ) / / 10 個 の 要 素 を 持 た せ る VarArray arr(l の ; / / こ の プ ロ ッ ク を 出 る と き に VarArray の デ ス ト ラ ク タ が 呼 ば れ る リ The + ス の 初 期 化 に 利 用 て 、 き た り し ま す 。 実 際 コ ン ス ト ラ ク タ ・ デ ス ト ラ ク タ は , ク ラ ス の 生 成 と 消 滅 に は 欠 か せ な い も の て 、 す 。 イ ン ス タ ン ス の 生 成 と 消 滅 の あ る と こ ろ , 必 ず コ ン ス ト ラ ク タ ・ デ ス ト ラ ク タ の 呼 び 出 し が C 十 十 処 理 系 に よ り 行 わ れ ま す 。 と は い え , こ れ ま て 、 に 出 て き た ク ラ ス の 例 て 、 は , と く に コ ン ス ト ラ ク タ ・ デ ス ト ラ ク タ を 定 義 し て い ま せ ん て 、 し た 。 む し ろ , そ の よ う な 場 合 に は C 十 十 が 「 何 も し な い 」 デ フ ォ ル ト の コ ン ス ト ラ ク タ ・ デ ス ト ラ ク タ を 用 意 し て い る と 考 え る の が 自 然 な の て 、 す 。 コ ン ス ト ラ ク タ ・ デ ス ト ラ ク タ は , C 十 十 言 語 の ク ラ ス 機 構 の 仕 掛 け と 密 接 な か か わ り を 持 っ て い ま す 。 こ の 処 理 系 と の 緊 密 な か か わ り が , よ く も 悪 く も コ ン ス ト ラ ク タ ・ デ ス ト ラ ク タ の 特 徴 と な っ て い ま す 。 あ ま り に も 緊 密 な た め , 時 に は ダ ー ク サ イ ド と し か 思 え な い よ う な 一 面 も 見 え て き ま す が , そ れ は そ れ , 必 要 に な っ た と き に 扱 う こ と コ ラ ム ふ た つ 以 上 の 初 期 値 コ ン ス ト ラ ク タ は F00 (int, int) の よ う に , ふ た つ 以 上 の 引 数 を 取 る こ と も で き ま す 。 し か し = を 使 っ た 構 文 で は , ひ と っ し カ イ 直 を 与 え る こ と が で き ま せ ん 。 そ の 場 合 は ど う や っ F00f00 ( 1 ) ; は , F00 f00 = 1 ; 実 は , = を 使 っ た 初 期 値 指 定 の 構 文 て 初 期 値 指 定 を 行 え ば よ い の で し よ う か 。 と い う 初 期 化 が 行 え る こ と が お わ か り に な る で し F00 f00 ( 0 , 0 ) ; こ の 構 文 を 使 え ば , と , 少 し は 違 和 感 が 薄 れ ま す 。 い う 関 数 の 呼 び 出 し を 引 き 起 こ す こ と を 考 え る の は 妙 な 感 じ が し ま す が , こ れ が コ ン ス ト ラ ク タ と の 特 殊 な 形 な の で す 。 初 期 化 に ( ) が 使 わ れ る よ う 。 C 十 十 入 門 講 座 93