目的
・関数を理解して使えるようにする。
・関数を理解するまでの頭の中を整理する。
・理解が進んだら更新する。
正方形の面積を関数にしてみるの巻
正方形の面積を求める公式
・1辺 × 1辺 (今回はこっちを使う)
・対角線 × 対角線 ÷ 2
#include <stdio.h>
int square(int x) //squareは正方形の意味
{
int sq = x * x; //sqはsquareのsq
return(sq);
}
int main(void)
{
int r;
printf("正方形の長さを入力してください:");
scanf("%d",&r);
int y = square(r);
printf("一辺%dcmの正方形の面積は%dcmです。\n", r,y);
return (0);
}
実行結果
正方形の長さを入力してください:3
一辺3cmの正方形の面積は9cmです。
長方形の面積を関数にしてみるの巻
正方形の面積を求める公式
たて × よこ
#include <stdio.h>
int rectangle(int x,int y) //rectangleは長方形の意味
// 長方形の公式が たて × よこ の2種類の値を掛け算するから
// 引数も2種類用意する必要がある。
{
//int re = x * y; //reはrectangleのre
return(x * y); //returnにx * yを入れても関数機能する。
}
int main(void)
{
int r;
int e;
// int y;
// printfの直前でint y = rectangle(r,e);してるからint y;って書かなくてもいい
printf("長方形の縦と横の長さを空白区切りで入力してください:");
scanf("%d%d",&r,&e);
int y = rectangle(r,e);
printf("縦%dcm、横%dcmの長方形の面積は%dcmです。\n", r,e,y);
return (0);
}
実行結果
長方形の縦と横の長さを空白区切りで入力してください:3 3
縦3cm、横3cmの長方形の面積は9cmです。
大事かもって思ったところ
・main関数のvoidは戻り値なしという意味
・関数はmain関数の下に書いてはいけない。しかし、プロトタイプ宣言をすればmain関数の下に書いても良い。
理由は、main関数の下に関数を書くとエディターはmain関数から最初に処理されるので
関数をmain関数の下に書くと再定義されてしまうから。
関数の機能を日常で例えてみる。
例1
髪の毛を洗う時、シャンプー、リンス、コンディショナーをそれぞれ使うけど
時間がかかってめんどくさいからシャンプー、リンス、コンディショナーのそれぞれの機能が入った
オールインワンという関数を使えば時短になる。
例2
外出した時にメイク直しをしたいからリップ、チーク、アイシャドーをそれぞれ持ち歩くと
メイクポーチに入らないからリップの形状をしたリップにもチークにもアイシャドーにもなるリップ関数を使えばポーチに入る。
参考にした動画