-PR-
解決済み

int

  • 暇なときにでも
  • 質問No.298406
  • 閲覧数155
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 89% (662/743)

猫でもわかるプログラミングを見ていましたら次のような命令がありました。
int は変数宣言ということですがどのように宣言しているのでしょうか。

int takestone(int *, int, int, int);
int main()
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル13

ベストアンサー率 39% (634/1611)

>takestone(int*,int,int,int)とは引数が4つで整数ですという意味でしょうか?

そうです。こういう風に型宣言をしておけば、呼び出し側で間違えて呼び出したときにコンパイルエラーで引っかかります。

>最初のint*は何でしょうか。
第一引数は int へのポインタです。

>int main()がありますが、他に似たような書き方で
>main()
>int main(void)
>void main(void)などありますがどう違うのでしょうか?

main() :引数なしで戻り値が int (省略すると int です)
int main(void):引数なしで戻り値が int
void main(void):引数なしで戻り値もなしです。

main() 本当は int main(void) と書かないとならないですが省略した書き方です。
お礼コメント
konnyaku

お礼率 89% (662/743)

非常に良く分かりました。ありがとうございました。
投稿日時 - 2002-06-23 23:20:47

その他の回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 39% (634/1611)

>どのように宣言しているのでしょうか。

質問の意味がよくわかりませんが、
int takestone(int *, int, int, int);
はどういう意味かということでしょうか?

これは関数 takestone というのがあって、その関数の引数のは int*,int,int,int 型で戻り値は int ですという意味です。決して takestone(int *, int, int, int) という名前の int 変数を定義しているのではありません。
補足コメント
konnyaku

お礼率 89% (662/743)

takestone(int*,int,int,int)とは引数が4つで整数ですという意味でしょうか?
最初のint*は何でしょうか。

もう一つ質問に
int main()がありますが、他に似たような書き方で
main()
int main(void)
void main(void)などありますがどう違うのでしょうか?

お願いします。
投稿日時 - 2002-06-23 21:14:49


  • 回答No.2
レベル11

ベストアンサー率 42% (103/245)

関数の宣言でしょうか。
#1の方のおっしゃる通り
int takestone(int*,int,int,int)とは
戻り値がint型で、引数はint*、int、int、int型です
という意味です。

>引数が4つで整数ですという意味でしょうか?
そんな感じですね。

>最初のint*は何でしょうか。
ポインタはご存知ですか?
int*はint型のポインタという事になります。
他の引数は変数のコピーを渡しているのですが、int*は変数のアドレスを渡します。
違いとしては、前者は関数内でいくら中の値を変えようと引数の元になった変数の値は変わりませんが、後者は変わります。
ポインタについては、ここで簡単に説明するのが(私には)難しいので、参考URLや書籍等で勉強してください。

int main()とint main(void)は同じ意味です。
voidは省略が可能なので、記述しない場合があるんですよ。
ですから、main()はvoid main(void)と同じという事になります。
voidは最初のうちは「ない」と考えていても良いと思います。
void main(void)…引数も戻り値も無い
int main(void)…引数はない、戻り値はint型

参考URLは初心者向けのC言語サイトです。
参考にしてください。
お礼コメント
konnyaku

お礼率 89% (662/743)

非常に詳しい説明ありがとうございました。
main ()はint main(void)ではないのでしょうか?
ホームページで検索して調べたらそうでした。
http://home.att.ne.jp/sun/ma7/kakorogu35.htm

まったく知らないので調べることも大変です。
ありがとうございました。
投稿日時 - 2002-06-23 23:19:33
このQ&Aで解決しましたか?
関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

ページ先頭へ