Cを使いはじめてそろそろ10年になります。
 しかし最近になって分からなくなってきたのは、ここの質問文中にもっともよく出てくるであろうこの単語「hoge」です(笑)

 おそらくは擬音語の「ほげほげ♪」から来ていると思うんですが(笑)、なんなんでしょうこれは(^_^;

 今んとこ「何でもいい」を表す単語としては、「波線」の意味で「wwwww」を使うようにしてます。
 でも答えが面白かったら俺も「hoge」に変えます(笑)

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

A 回答 (3件)

私もhogeは使いますが、実のところ由来はなんなのか良く知りません。



今手元にある「C言語ポインタ完全制覇 初版」(前橋和弥著)という本のp039にhogeについて書いてあります。

そこで紹介されているURLを載せておきます。
(ほげを考えるページ)
http://www.selab.tutkie.tut.ac.jp/~yoshida/hoge. …

参考URL:http://www.selab.tutkie.tut.ac.jp/~yoshida/hoge. …
    • good
    • 0
この回答へのお礼

 ありがとうございます。

 読んでみたんですけど、要するに意味はないんですね(笑)

お礼日時:2002/02/28 17:50

aabbccddeeffさんの参考URLがつながらないようなので、こちらを。



参考URL:http://www-nishio.ise.eng.osaka-u.ac.jp/~nakamur …
    • good
    • 0
この回答へのお礼

 ありがとうございます。

 質問を出して20分で回答数3(笑)
 意外に関心の高いネタなんですね(^_^;

お礼日時:2002/02/28 17:55

やはり気になりましたか。

(^_^;
問題の「hoge」ですが、このサイトだけで使われているわけでは無いようです。
私がプログラマーになった頃(既に10年ほど前ですが)には使われていました。
勿論正式なプログラムを作る際には使用していませんでしたが、研修で例示するときや、誰かにサンプルプログラムを示すときなんかにはよく使ってましたね。
ちなみに私の知り合いは更に「gero」というのも頻繁に使っていました。(--;)
まぁ、「いちいち変数名を考えるのが面倒+適当でも良い」ときに便利だからでしょう。
でもこれだけ「hoge」が普及していると言うことは、由緒ある変数名で、それなりの由来を持っているのかもしれませんね。(^_^)
    • good
    • 0
この回答へのお礼

 ありがとうございます。

 10年前っつーと、俺が高校に入学した頃ですか。
 うーん、奥が深い(笑)

お礼日時:2002/02/28 17:54

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

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

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

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

QHoge a = Hoge();はどうしてよくないやり方なのでしょうか?

以下のようなことが書いてありました。
どうしてHoge h1 = Hoge();はおすすめではないのでしょうか?
Hoge h0;とはどういう違いがあるのでしょうか?

Hoge h0; // 普通な方法
Hoge h1 = Hoge(); // あまりおすすめでない方法

Aベストアンサー

Hoge h1 = Hoge();

は初期化時にデフォルトコンストラクタが明示的に指定されているだけで、
コピーコンストラクタは呼ばれません。また operator=() も呼ばれません。

なので Hoge が具体的な型である場合には

Hoge h1;

と同じだと思います。

Hoge がテンプレートパラメータである場合には、

Hoge h1 = Hoge();

と書かないと Hoge が int などで具現化された場合に変数 h1 が 0 で初期化されずに困るかもしれません。

Q#define hoge long longって正しいでしょうか?

いつもお世話になっておりますm(__)m
表題の件なのですが、

#define hoge long long

とやって、hoge型は、long longで置き換えてねー
って書いた場合、
C言語の場合、正しいのでしょうか?
あるいは、longとlongの間が空いてちゃダメなのでしょうか?

質問のきっかけは、

#define hoge long long
中略
typedef struct _hogehoge {
long long val;
中略
} hogehoge;

のようなヘッダーファイルを含む
あるプログラムをビルドした際に、

error C2632: 'long' と 'long' の 2 つの型指定子のあいだにコードがありません。

というエラーが出たためです。
どなたかご教授の程、よろしくお願い致します。

Aベストアンサー

> C言語の場合、正しいのでしょうか?

お使いのコンパイラーは何ですか?
お使いのコンパイラーが long long 型に対応していれば、正しいです。

> error C2632: 'long' と 'long' の 2 つの型指定子のあいだにコードがありません。

このエラーが出るということは、お使いのコンパイラーが long long 型に対応していないのではないでしょうか?

Qもっとも有効なC言語勉強方法

私は、むやみやたらと1から作るのではなく、他人のソースを見てそこから学んでいくようにしています。

何か有効な勉強方法があったら教えてください。

よろしくお願いします。

Aベストアンサー

こんにちは。

出来る出来ないは後回しにして、やはり「目標」を持つ事が大事だと思います。
友達なり家族にどんな物(ツール)が欲しい?と聞いてみて、簡単なものを言ってもらう。
で、そのツールを作る事を考えるんです。

最初は難しいに決まっていますが、ちょっとづつでも進めばやりがいも出て来ますし、見せてみて「いいじゃん」とか言われると、俄然燃えます(笑。

他の人のソースを見ているだけでも、確かに勉強にはなるかもしれませんが、そのうちに飽きてしまいます。

頑張って、1つツールを完成させましょう。後は、ここからの発展です。

でわ!

Qネットワーク接続 → 「ローカルエリア接続の状態」画面にある「無効にす

ネットワーク接続 → 「ローカルエリア接続の状態」画面にある「無効にする」のボタンをCV++で組んだプログラムで操作する関数を教えてください。
OSはWinXPHomeです。

Aベストアンサー

VBSでやる方法は以前回答しました。
http://okwave.jp/qa/q4071972.html
COMをC言語で操作するのは凄く難しいので、このVBSを
改造してCreateProcessで起動するのは如何でしょう。
コマンドラインは"cscript.exe C:\~.vbs" です。
VBSは有効無効を切り換えるものです。
改造は以下のようにします。
(1)プログラムをコピペする。
(2)EnableLAN("ローカル エリア接続",True) を削除する。
(3)漢字空白1文字を2文字の半角空白に変換する。
(4)拡張子をVBSとしてファイルに保存する。

どうしてもCでやりたい場合はGUID,CLSID,IIDを調べ、
PIDからメソッドのエントリポイントを探してInvokeします。
何言ってるか分からないようでしたらCでの作成は無理です。

Q数値英単語変換

C言語で、入力された数値を英単語に変換するプログラムを作りますが、0~999,999,999 までの整数値について,正しく英単語に変換できるところとします。プログラミングが本当に苦手で、いったいどこから始めばいいのか、さっぱりわかりません。どうか教えてください。
できれば、詳しく説明して頂ければ、助かります。

Aベストアンサー

ほい。

面倒だからPythonでやったけど、感じはつかめるでしょ。
はっきりいってやっつけだから、このロジックで組んでも
課題とかなら点数はもらえないと思うよ。

微妙に要求を外してるしね :)

#!/usr/bin/python
# coding: utf-8
lessthan21 = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
____________ "ten", "eleven", "twelove", "thirteen", "fourteen", "fifteen",
____________ "sixteen", "seventeen", "eighteen", "nineteen", "twenty"]

tens = ["twenty", "thity", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"]

def to_string(num):
____if num >= 1000*1000*1000:
________print "Give up!!(%d)" % num
________return

____if num <= 20:
________if num != 0:
____________print lessthan21[num],
____elif num < 100:
________print tens[(num / 10)-2],
________to_string(num % 10)
____elif num < 1000:
________to_string(num / 100)
________print "handred",
________to_string(num % 100)
____elif num < 1000000:
________to_string(num / 1000)
________print "thousand",
________to_string(num % 1000)
____elif num <= 1000000000:
________to_string(num / 1000000)
________print "million",
________to_string(num % 1000000)


for n in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,32,
________ 43,54,65,76,87,98,100,101,111, 123, 255,
________ 999, 2001, 9999, 10000, 999999, 1000000, 1001011,
________ 1000*1000*1000-1, 1000*1000*1000]:
____print n, "->",
____to_string(n)
____print

1 -> one
2 -> two
3 -> three
4 -> four
5 -> five
6 -> six
7 -> seven
8 -> eight
9 -> nine
10 -> ten
11 -> eleven
12 -> twelove
13 -> thirteen
14 -> fourteen
15 -> fifteen
16 -> sixteen
17 -> seventeen
18 -> eighteen
19 -> nineteen
20 -> twenty
21 -> twenty one
32 -> thity two
43 -> fourty three
54 -> fifty four
65 -> sixty five
76 -> seventy six
87 -> eighty seven
98 -> ninety eight
100 -> one handred
101 -> one handred one
111 -> one handred eleven
123 -> one handred twenty three
255 -> two handred fifty five
999 -> nine handred ninety nine
2001 -> two thousand one
9999 -> nine thousand nine handred ninety nine
10000 -> ten thousand
999999 -> nine handred ninety nine thousand nine handred ninety nine
1000000 -> one million
1001011 -> one million one thousand eleven
999999999 -> nine handred ninety nine million nine handred ninety nine thousand nine handred ninety nine
1000000000 -> Give up!!(1000000000)

ほい。

面倒だからPythonでやったけど、感じはつかめるでしょ。
はっきりいってやっつけだから、このロジックで組んでも
課題とかなら点数はもらえないと思うよ。

微妙に要求を外してるしね :)

#!/usr/bin/python
# coding: utf-8
lessthan21 = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
____________ "ten", "eleven", "twelove", "thirteen", "fourteen", "fifteen",
____________ "sixteen", "seventeen", "eighteen", "nineteen", "twenty"]

tens...続きを読む


人気Q&Aランキング

おすすめ情報