忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[351]  [350]  [349]  [348]  [347]  [346]  [345]  [344]  [343]  [342]  [341
前回までのあらすじ。

前回は関数ってなんだろなーという話から進展し、

Cにおける関数作成の流れのようなものを説明致しました。

といってもなんのこっちゃかわからない説明になりましたが・・・

という訳で今日は前回告知したように、実際に適当に関数を作って説明でもしようと思います。


今日は一先ず、与えられた値の2倍の値を返すtimeという関数でもつくってみることにしましょう。地震だー

まず、関数の宣言、これはこのように宣言します。茨城北部かぁ

int time(int num);

これでint型の関数timeが宣言されました。震度3?うそこけ!

変数の宣言と似ていますよね。茨城で震度4?


因みに()内のint numですが、

これは仮引数といってmainの関数からデータを受け取るときに受け取り先となる変数です。

この関数内であれば普通の変数として使用ができます。震源は茨城南部かぁ


次に関数の定義です。今回は与えられた数を2倍にする関数なのでこのような感じになります。

int time(int num)
{
      return num*2;
}

関数はこんな感じに定義することになります。M4.1ね
returnというのは戻り値といってこの関数がmainに返す値・・・つまり結果的に示す値となります。

この場合はnum*2となっていますのでnumの値の2倍の値が返されることになります。


最後に関数の呼び出し。

このように表記されます。

x=time(x);

変数xにtime関数の値を代入するということになります。

ここで()内のxは実引数といって、ここのxの値が引数として関数の方に(ここでは変数numに)送られます。



ここでこれを実際のプログラムにしてみましょう。23区は震度3ですね

このような感じになります

#include "stdio.h"

int time(int num);

int main(void)
{
      int x;
      printf("xの入力");
      scanf("%d",&x);
      x=time(x); 
      printf("x=%d",x);
      return0;
}

int time(int num)
{
      return num*2;
}


外部から整数xを入力することで、xの2倍の数を表示するプログラムになります。

まず関数timeを最初に宣言して、次にmain関数がきて、その中で変数xを定義、scanfで入力、

そして関数timeを呼び出します。そして関数time内で引数として送られてきたxの値を変数numに代入し、

そのnumの値を2倍したものを関数timeの値としてreturnでmain関数に返します。

それをまたxに再代入して、pirntfで出力しています。


とりあえず関数の使い方としてはこんな感じです。

また、複数の変数を引数として使いたい場合は

int time(int a,int b)

のような具合にプログラムします。

また、変数と同じように戻り値として使用したい数字の型によって関数の型を変更することができます。

戻り値を使わない関数の場合はvoid型という型を使用することも出来ます。

というわけで関数の説明は以上になります。


次は・・・なんだろう、配列ってやったっけ?(笑)

配列かポインタのどちらかになるかと思われます。

それではまた。

(^・ω・)ノ RadiumProduction in RoboCup Junior
Comments
※コメントは内容確認後に手動で公開するようにしております。反映までしばらくお待ちください。
Your Name
Title
color
Comment
 

カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...