今だけ人気マンガ100円レンタル特集♪

私は、C言語を勉強中のものですが、
「ルーチン」という言葉は具体的にどういう意味なのですか、
お教えください。

C言語では、「関数」と同義語でしょうか。


「新ANSI C言語辞典」(平林雅英 著、 技術評論社)の「ルーチン」の説明:

定められた処理をするためのプログラムのひとかたまり

このQ&Aに関連する最新のQ&A

A 回答 (3件)

まず、関数と同義語ではありません。



ルーチンと言うのは主観で決まると言うのもあながち嘘ではありません。
メインルーチン、サブルーチン、~処理ルーチンなどまさに設計者の主観によります。

一つだけ言えるのは1命令でルーチンと言うことはまず無いと言うことです。
数命令以上が集まって所定の目的を果たすもの、ということで、極端な例としてはプログラム=ルーチンと言うこともあるということでしょう。

この考え方から行けば、関数の中に沢山のルーチンがあったり、ルーチンの中に関数が沢山あっても一向に不思議ではありません。

要は設計者が、どの部分をルーチン(ひとかたまりの仕事)と認識するかにかかっているわけですから。(~処理部と言う程度の意味なのですから)
    • good
    • 1
この回答へのお礼

>ルーチンと言うのは主観で決まると言うのもあながち嘘ではありません。

ということは、プログラミングの本にこの言葉が出てきたら、具体的に何をさすかはその文脈で判断する必要がありそうですね。

お礼日時:2001/11/12 22:20

回答できるほど分かっているのではないのですが,


関数とは同義ではないです.
「定められた処理をするためのプログラムのひとかたまり」
関数の中にも,ルーチンがいくつもあったり,
関数が幾つか集まってルーチンになったりです.

この回答への補足

>関数の中にも,ルーチンがいくつもあったり,
>関数が幾つか集まってルーチンになったりです.

この部分はなるほどなあ、と思いました。

>関数とは同義ではないです.
>「定められた処理をするためのプログラムのひとかたまり」

ただ、何を「ひとかたまり」と捕らえるのかは、人によって違う可能性があるように私は思ってしまいます。
「ルーチン」というのは、そういう、主観的な言葉なのでしょうか。(そうかもしれません。)


「プログラミング言語C」(カーニハン ・ リッチー 著)という本では「ルーチン」という言葉を次のように使っています。

―――――――――――――引用―――――――――――――
 静的なメモリは通常の宣言にstaticということばを付けて指定される。そこで次の二つのルーチンと二つの変数が、一つのファイルにコンパイルされると、

 static char buf[BUFSIZE]; /* ungetch 用のバッファ */
 static int bufp = 0; /* buf 中の次の空き位置 */

 int getch(void) { ... }

 void ungetch(int c) { ... }

他のルーチンから buf と bufp へのアクセスは不可能となる。これらは、同じプログラムの他のファイル中の同じ名前とは衝突しない。
―――――――――――――引用ここまで―――――――――

補足日時:2001/11/11 22:38
    • good
    • 0

gooの国語辞書検索機能(三省堂 大辞林第2版)で検索したらありますよ。



確かに通常の仕事でも、決まりきった手続きにのっとった処理を「ルーチンワーク」といいますよ。

特別な判断を必要としない、と言うことでしょう。
(プログラムされているから)
プログラムを演奏会などのプログラム(式次第)と解釈すれば
「きまりきった流れ」の意味がつかみやすいのでは?

参考URL:http://dictionary.goo.ne.jp/cgi-bin/dict_search. …

この回答への補足

ありがとうございました。

参考URLによると、「コンピューターのプログラムの部分をなし、ある機能をもった一連の命令群。」ですね。

意味はわかりました。
で、具体的には、for文とかif文とかswitch~case文とか、でしょうか。

ご回答にある「きまりきった流れ」というのは、私には、「プログラム」と同義語に感じられてしまいます。

補足日時:2001/11/11 22:09
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qバッファとは何ですか

C言語を使用してるとバッファという言葉がよく出てきますがバッファとは何ですか
メモリとは違うものですか
訳をみても緩衝材とか一時的に蓄える場所という意味でよく分かりません
一時的でない使い方も多い気がしますが実際はどういうものですか

Aベストアンサー

#1です

寝ぼけて適当に書いたので修正。

すぐ見つけることができたもので正確なものは英語版ですがこちらくらいかも。
Data buffer - Wikipedia (en.)
http://en.wikipedia.org/wiki/Data_buffer

一応簡単なものはこちらです。
バッファとは - e-Wrods
http://e-words.jp/w/E38390E38383E38395E382A1.html

「複数の機器やソフトウェアの間でデータをやり取りするときに、処理速度や転送速度の差を補うためにデータを一時的に保存しておく記憶装置や記憶領域のこと。」
が現在の基本定義です。処理速度・転送速度の差のための緩衝材的な意味です。

昔はソフトウェアとハードウェア間に使うデータでソフトウェア側がデータを受け取るか、整形して送信するときに使うメモリ領域が基本的にバッファでした。
マルチプロセッサ・マルチタスクの時代になってくると、ソフトウェア間の処理速度の違いを吸収するために使うメモリ領域にもバッファという言葉が使われるようになりました。ソフトウェア間で逐次(FIFO)処理されるデータのためのメモリ領域がこちらの使われ方の主戦場といったところでしょうか。

ソフトウェア間でただ一括転送されるデータならバッファという言葉は誤用ということになるのですが、よく誤用されます。

#1です

寝ぼけて適当に書いたので修正。

すぐ見つけることができたもので正確なものは英語版ですがこちらくらいかも。
Data buffer - Wikipedia (en.)
http://en.wikipedia.org/wiki/Data_buffer

一応簡単なものはこちらです。
バッファとは - e-Wrods
http://e-words.jp/w/E38390E38383E38395E382A1.html

「複数の機器やソフトウェアの間でデータをやり取りするときに、処理速度や転送速度の差を補うためにデータを一時的に保存しておく記憶装置や記憶領域のこと。」
が現在の基本定義です。処理速度・転送速...続きを読む


人気Q&Aランキング