第3講 社員(関数)の学習その1
第7話 値を2倍にする関数
#include<stdio.h>
int f(int x);
int main(){
int y; //整数を入れる変数
y=f(3);
printf("3の2倍は");
printf("%d",y);
printf("です。\n");
return(0);
}
int f(int x){
return(2*x);
}
コピペ用添付ファイル
実行画面
3の2倍は6です。
を実現するプログラム例です。
mainから3が渡され、社員fはそれを2倍に加工した6をmainに返してます。
そして、受け皿(受け箱)yが受け取っています。
さらに、
printf("%d",y);
によって、箱yの中身がコンソール画面に表示されます。
コードは次のように変更することも出来ます。
#include<stdio.h>
int f(int x);
int main(){
int a, y; //整数を入れる変数
a=3;
y=f(a);
printf("3の2倍は");
printf("%d",y);
printf("です。\n");
return(0);
}
int f(int x){
return(2*x);
}
コピペ用添付ファイル
あるいは、
#include<stdio.h>
int f(int a);
int main(){
int x, y; //整数を入れる変数
x=3;
y=f(x);
printf("3の2倍は");
printf("%d",y);
printf("です。\n");
return(0);
}
int f(int p){
return(2*p);
}
コピペ用添付ファイル
当然初心者の方は、??!?ですね。
#include<stdio.h>
int f(int x);
int main(){
int x, y; //整数を入れる変数
x=3;
y=f(x);
printf("3の2倍は");
printf("%d",y);
printf("です。\n");
return(0);
}
int f(int x){
return(2*x);
}
なら理解できるけど、
#include<stdio.h>
int f(int a);
int main(){
int a, y; //整数を入れる変数
a=3;
y=f(a);
printf("3の2倍は");
printf("%d",y);
printf("です。\n");
return(0);
}
int f(int x){
return(2*x);
}
コピペ用添付ファイル
#include<stdio.h>
int f(int a);
int main(){
int x, y; //整数を入れる変数
x=3;
y=f(x);
printf("3の2倍は");
printf("%d",y);
printf("です。\n");
return(0);
}
int f(int p){
return(2*p);
}
の2つはおかしいのではと?
実は、
仕事を依頼する側の引数の名称と受け取る側の引数の名称が異なっていても、
まったく問題ないのです。
そして、プロトタイプ宣言とも。
引数を渡すという表現をしますが、
第5話でお話ししたことから予想は出来ると思いますが、
箱(変数)そのものを渡しているわけではなく、
渡しているものはあくまで箱(変数)に入っている値です。
理由は、箱はその社員専用で他の人は使えないということです。
ということは、箱(変数)そのものは渡せないということです。
あくまではこの中身を参照(コピー)して、渡しているのにすぎないのです。
箱そのものを渡しているのではなく、中身の3を渡しているのです。
ですから、受け取る関数側の箱の名称を例え同じにしても、
結局は別の箱です。
ですから、受け取る関数側の箱の名称は同じにしても別にしてもいいのです。
ただし、受け取る関数内では、
変数の名称は同じにしておかなければなりません。
当然です。
それから、
引数を渡される関数の方もその値を収納する箱を用意しなければなりません。
int f(int p){
のint pは、引数を受け取る箱を用意してその箱の名前をpにしたということです。
引数の個数は、複数でも良いのです。
y=f(3,5)として、3+5を計算して返す関数fを考え、
実行画面が
3+5は8です。
となるプログラムを考えて下さい。
引数は、
int f(int p,int q){
等となります。
第6話へ 第8話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ