本文へスキップ

アトメル社のAVRマイコンをつかった電子工作および無線を使った電子工作を紹介します。





ホーム >ソフト室 >AVRマイコンで始めるC言語の使い方 > 関数

AVRマイコンで始めるC言語の使い方

関数について

今まで学習してきたプログラムでおなじみなようにC言語は関数というモジュールで構成されています。つまりC言語は関数によりプログラムが構成されています。
関数は外部からの引数を受け取り、演算子し、結果を返値として返します。
関数の機能と入力(引数)と戻り値が何かをはっきりとさせておくことが大切です。
外部の変数(グローバル変数)に対して変更が行われているか注意が必要です。

main関数
main関数からプログラムは始まります。main関数も1つの関数なので()を付けます。main()関数は、プログラムの差書に置かなくてももかまいません。
通常main()関数内は、おおまかな処理を記述して細かな処理は関数を呼み出しその関数内で処理をします。

関数の宣言
 function()というように関数名の後に()を付けます。()を付けることで変数ではなく関数であることがわかります。()内には、入力(引数)を入れます。これは、なくてもいいです。又複数個あってもかまいません。
 返値に合わせて関数には、型宣言をする必要があります。

関数の返値
なし void function()
整数 int function()
文字 char function()



入力(引数)にも型宣言をしておく必要があります。
 例1)void function( int a) 変数aは、int型であることを宣言しておく。
 例2)void function( int a, int b) 変数が2つあるときは、カンマ’,’で区切る。

関数の呼みだし
読み出す側の関すにおいても読み出される関数でも型宣言をしておきます。通常型宣言は、呼び出す側の関数の最初でしておきます。
関数の中身は、{ }でくくっておきます。





関数の引数の受け渡し方法1(引数が値を持っている)

引数に値をもって引き渡す例です。呼み出す側の引数は呼み出される関数の引数としてコピーされてから呼み出される関数で使用されます。つまり、呼み出す側のxの値は変更されません。呼み出される側の関数によりxは、影響を受けません。
呼み出す側の引数と呼み出される側の引数の変数名は同じでも異なっていても区別されます。



関数の引数の受け渡し方法2(引数がポインタ)

引数が配列、構造体の場合は値を呼み出される側の関数に渡すのではなく、ポインタ(アドレス)で渡します。そのため呼み出される側の関数によりx[]は、影響を受けます。






関数の引数の受け渡し方法3(外部変数)


引数を使わなくても外部変数を宣言しておくと外部変数で値を受け渡すことができます。この場合は、呼み出される側の関数によっても値は変更されます。













関数の戻り値
 関数から値を返すには’return’を使用します。
return(戻り値)
前ページ次ページ