• ベストアンサー

int void (main)の意味・・・

isleの回答

  • isle
  • ベストアンサー率51% (77/150)
回答No.4

C/C++言語ではプログラム開始関数であるmainはintを戻り値とするのが基本です。 戻り値は0が正常終了で1が異常終了というのが規格で定義されています。 現在の規格では値を返すreturnが無いまま関数ブロックが終了しても良く、関数ブロックの最後まで実行されたときは0が返されることになります。 戻り値をvoid型にしたり、0、1以外の値を返したり、-1を返したつもりが255になってて悩んだり(これは余談)するのは、上記を踏まえた上でやるべことかと思います。 int main()とint main(void)の違いですが、 前者はC言語では関数呼び出しで引数のチェックをしない、 C++言語では引数が無いことを示します。 後者はC/C++言語ともに引数が無いことを示します。

関連するQ&A

  • int main()、void main()、void main(void)、int main(void)

    今日、大学でC言語の講義の時間、先生が、 #include <stdio.h> void main(void){ } と宣言してプログラムを書くと教えていました。 main関数には、 main() void main() void main( void ) int main() int main( void ) と、人によりいくつかの描き方があったりします。 どれが本当は正しいのでしょうか? void mainはすべきではないとなんかの本で読んだのですが・・。

  • int main(void)

    C言語の問題集をやっているのですが、 本にはmain関数の最初にint main(void)のような書き方が してあります。 学校ではmain() と習ったのですが、本には上のようにかいてあります。 どのように違うのでしょうか? というかmain関数のところに引数が入っている意味がわかりません。 どういうことがというと(void)ってなんですか? またint mainというのはint型の関数だと思うのですが、 なかではdouble型とかも使えます。 お願いします。

  • main()とint main(void)の違い

    最初main()と習ったのですが、最近学校でmain()ではなくint main(void)を使うように なりました。 どのように違うのでしょうか? main関数のところに引数が入っている意味がわかりません。 (void)ってなんですか? そもそも引数って何ですか? あと、プログラムの最後にreturn(0)って書いてあるんですが、これはどういう意味ですか? 回答よろしくお願いします。

  • int main(void) の意味について教えて下さい

     お早う御座います、Cの初心者です、宜しくお願いします。  最初にmain関数は、「int main(void)」という風に始まりますが 、main関数がstring型をとる場合とか、実際に他の関数から呼ばれる場合は有るのでしょうか。

  • int型 void型について

    C初心者です。 「int main(voido)」や「void main(void)」がよくわかりません。 int、void、(void)とは返り値を返す、返さないということが理解できません。小学生でもわかる説明をしていただけないでしょうか? よろしくお願いいたします。 

  • int main(int argc, char* argv[]) についての質問

    こんにちは.つね日ごろ思っている質問させてください. Cの参考書には, (1) void main(void) { } (2) int main(int argc, char* argv[]) { return 0; } の2つのパターンが記載されていますが, どういう違いがあるのでしょうか? (1)の場合main関数は,型を持たず,引数も持たない. ※Turbo Cなどのコンパイラーでは, return文がないと警告出ます. (2)の場合は,int 型をかえし,引数はint型 変数と char型ポインタ配列(?) を指定している. といったくらいしか分かりません. (2)に関してもう少し述べれば, コマンドラインからファイルを指定し,実行することが できると勉強した記憶があるのですが, 理解があいまいです. 特に(2)の場合のmain関数の意味と,その使い方について アドバイスお願い致します.

  • void main (void)について、、、

    またまたすみません。 プログラムを書くときに、   void main (void)   と、とりあえず最初にこれを書く、と覚えていて意味がわかりません。 小学生でも理解できるくらいに噛み砕いて説明をお願いします。

  • int main()の・・・

    初心者です。 ものすごく基本的な質問なんですが、 int main() のint型は、どういった意味なんでしょうか? char main() はだめなんでしょうか? それと ()内意味はなんでしょうか? よろしくお願いします。

  • void **(char や intのアドレス混在)について

    printf("%d",voidd[0]);にてほしい値が表示されません。 どうすればいいですか? よろしくお願いします。 #include<stdio.h> int main() { /* Calc.StringExpressionGet("1+((2+34)*2-111*77)*5-67*8/90"); Calc.StringExpressionResolve(); Calc.Print(); */ int num[3]; num[0]=111; num[1]=222; num[2]=333; char str[4]="ABC"; void **voidd; voidd=new void*[6]; voidd[0]=(void *)&num[0]; voidd[1]=(void *)&str[0]; voidd[2]=(void *)&num[1]; voidd[3]=(void *)&str[1]; voidd[4]=(void *)&num[2]; voidd[5]=(void *)&str[2]; printf("%d",voidd[0]); getchar(); return 0; }

  • int とcharの使い方と違い

    教えてgooに投稿するのは初めてですがよろしくお願いします。 最近C言語を勉強し始めた初心者です。 ネットのサイトを見て独学でしています。 過去スレッドをさらっと見て聞きたいことが書いてなかったので投稿します。(同じスレッドがあったらすみませんOTL) #include<stdio.h> int main(void) { int str='a'; printf("str=%c\n",str); return0; } この上のプログラムでは str=a と出て、エラーが出ずにコンパイル出来ました。でも、 #include<stdio.h> int main(void) { int str[]="abc"; printf("str=%s\n",str); return0; } とするとエラーが出ます。 int とcharの使い方と違いについて詳しく教えてほしいです>< お願いします。