ネタ

2010/12/02
前回

楽しいC言語講座 第十回


竹下先生 さて、ここからだんだん難しくなってくるけどがんばろうね。
今日は関数について勉強するよ。

まさひろ 竹下先生、関数ってなに?

竹下先生 関数っていうのは、簡単にいえば「名前を呼ぶだけで決められた
命令をしてくれるもの」のことだよ。

まさひろ じゃあ「竹下ー!」って呼ぶとパンとジュースを買ってくる
みたいなことだね!

竹下先生 ごめんまじでやめて

#include<stdio.h>
int main(void)
{
  aisatu();   return(0);
}
void aisatu(void)
{
  printf("Hello!!");
}

竹下先生 ところでまさひろくん、君はすでに関数を使っているんだよ

まさひろ えっそうなの?・・・はっ!まさか3年前の夏・・・

竹下先生 全然違うから。ほら、第二回の時におまじないっていってた・・

まさひろ ああ、○ックス!

竹下先生 そっちじゃねぇよ!

まさひろ じゃあ「int main(void)」っていうところ?

竹下先生 そのとおり!一般的にはメイン関数っていうんだ。まさひろくんが
いままでプログラムを記述していたのはメイン関数の中だったんだ

まさひろ そして、我々の住んでいる世界は何物かによって作り出された世界・・・

竹下先生 はいはい、そうだね。自分で関数を作りたいときはメイン関数の外に作るんだ

まさひろ 関係ないけど、「のび太の創世日記」って怖くね?

竹下先生 上のプログラムに示した水色の部分がいわゆる関数宣言なんだ 「aisatu」って部分は自分の好きな名前でいいんだよ。

まさひろ メイン関数の中にもaisatuって書いてあるね!

竹下先生 そう、関数を呼び出すときはaisatu();って記述するんだ。
()の意味?まぁ焦るなよ解説するからさ

まさひろ 実行するとaisatu関数の中の処理が行われるんだね!

竹下先生 そのとおり、関数というのがだいたい分かったところで次のプログラムを見てくれ

#include<stdio.h>
int main(void)
{
int a;
  a=plus(1);
  return(0);
}
int plus(int x)
{
  return(x+1);
}

まさひろ あれ、さっきと少しちがうね。

竹下先生 関数には「引数」と「戻り値」という概念があって、値を受け取ったり
値を返したりできるんだ。戻り値の指定は関数名の前、引数の指定は
関数名の後ろでするんだ。voidだと引数(戻り値)なし、intにするとint型
の変数を引数(戻り値)に指定できるよ。なお引数を指定するときは引数 をいれ
てあげる変数の名前も書いてあげようね。(int xの部分のことだよ)

まさひろ 実行するとどうなるの?

竹下先生 プログラムを順番に見ていこう。まず、plus(1)と書くことでplus関数の変数xに1が
渡されるね。そしてreturn文によってメイン関数にx+1が返されるんだ。そして変数a
にx+1、つまり2が代入されるんだね

まさひろ むずかしいなぁ

竹下先生 まあこういうのは慣れだからね。ちなみにprintfやscanfもりっぱな関数なんだ。 どこで関数宣言されているかというと・・・そう、第二回でおまじないっていった 部分だね

まさひろ ああ、○ックス!

竹下先生 だからちげぇ!



ネタトップへ inserted by FC2 system