猫でもわかるが俺にはわからない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
猫以下

猫でもわかるが俺にはわからない

#1

投稿記事 by 猫以下 » 15年前

最近C言語を習い始めたんですが
int main()
ってなぜint型なんでしょうか
char型とか使っているのにmainがint型なんて不思議です

あと、「猫でもわかるC言語プログラミング」に
printf("適当な整数値を入力してください___");
scanf("%d",&a);
printf("変数aに%dが入力されました\n",a);
実行結果
適当な整数値を入力してください___10
変数aに10が入力されました
と書いてあるのですが、変数のアドレスを入力した(つもりになっている?)のに
変数aに10が入力されたことになるのはどうしてでしょうか?

未来のプログラマー

Re:猫でもわかるが俺にはわからない

#2

投稿記事 by 未来のプログラマー » 15年前

そういうことはまあまあやってる私でもよくわからないので
まだ知らなくてもいいと思いますよ?

たかぎ

Re:猫でもわかるが俺にはわからない

#3

投稿記事 by たかぎ » 15年前

とりあえず、Cでプログラミングするだけなら理由を知る必要はありません。
日本語で「これはペンです」の「は」がなぜ「わ」ではないのかを知らなくても、読み書きができるのと同じです。

雑学的な興味や、もっと深い部分でCを理解したいということであれば、そういってください。

softya

Re:猫でもわかるが俺にはわからない

#4

投稿記事 by softya » 15年前

int main() がなぜintである必要があるかは、関数の戻り値に関する理解とC言語の規約に理解が必要です。
始めのうちは、int main()は決まりごとと理解しておいてください。
scanfは、基本的にポインタを渡してそのポインタが指す変数に値を入力する関数です。
なので、
scanf("%d",&a);
変数aのポインタをscanf関数にわたして、入力された数値を変数aに入れて戻ってきます。
これも関数の引数やポインタに関する知識がないとか理解しきれないと思いますので最初は決まりごとと受け取ってください。

猫以下

Re:猫でもわかるが俺にはわからない

#5

投稿記事 by 猫以下 » 15年前

なるほど、すべてを理解しなくてもいいのですか
scanf関数についても知識不足でした…
少し気が楽になりました
みなさんありがとうございます!

閉鎖

“C言語何でも質問掲示板” へ戻る