voidについて

解決


c言語初心者  2013-05-29 02:30:21  No: 73693

はじめまして、c言語初心者です。
文法の事でお聞きいたします。
「void main(void)」文について、
voidは戻り値が無いとは知っているのですが、「main(void)」の前にもうひとつ「void」が付いているのはどうしてでしょうか。

他にも「HSEARCH SH_initialize(void)」など見たことがあります。
しかも、「void SH_finalize(HSEARCH hS)」と関連しているような文も書かれていました。


tetrapod  2013-05-29 03:40:29  No: 73694

void を日本語にしたら「無効」とかそういう意味なわけだ。

void func(void) { ... } // というソースコードがあるとき
・左側の void は func が返す値が無効、つまり戻り値なしを意味する。
・右側の void (括弧の中の void) は func の引数が無いことを意味する。

ならばもう他のも読めるはず。
HSEARCH SH_initialize(void); の void は引数無し (戻り値 HSEARCH 型)
void SH_finalize(HSEARCH); の void は戻り値なし (引数 HSEARCH 型)
ってことだ。

# void* ってのもあるけど、もう一歩先の話ってことで。


c言語初心者  2013-05-30 19:21:16  No: 73695

tetrapodさん、
教えて頂きありがとうございます。
戻り値と引数の事でしたか。
イメージが掴めて、すごく解かりやすかったです。
続けて勉強していきます。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加