バイオインフォ道場、くまぞうです。
今回は、プログラムの基本構成となる「関数」を作ってみます。
スポンサーリンク
関数を利用したプログラム
メッセージの表示や、メッセージの長さを取得する関数を作成します。関数は、「戻り値 関数名(引数群)」で書きます。関数の呼出位置よりも後に関数を書く場合、先頭にプロトタイプ宣言が必要です。
プログラム
test_function.c
#include <stdio.h> void my_msg(char*); // comment:prototype void main(void) { // call function my_msg("Hello World!"); } // function void my_msg(char* msg) { printf("%s in my_msg\n", msg); }
test_function2.c
#include <stdio.h> #include <string.h> void my_msg(char*); int my_msg_length(char* msg); void main(void) { char* msg = "Hello World!"; my_msg(msg); int length = my_msg_length(msg); printf("my_msg length : %d\n", length); } void my_msg(char* msg) { printf("%s in my_msg\n", msg); } int my_msg_length(char* msg) { return strlen(msg); }
コンパイル & 実行
$ gcc test_function.c $ ./a.out Hello World! in my_msg
$ gcc test_function2.c $ ./a.out Hello World! in my_msg my_msg length : 12
プログラムについて
test_function.cでは、「my_msg」関数を作成しました。引数でメッセージを受取って、そのメッセージを関数内でprintf表示します。main関数よりも下に、関数を書くことで構成がスッキリします。そのため、先頭でプロトタイプ宣言をしています。
test_function2.cでは、「my_msg_length」関数を追加しました。メッセージ長さをint型の戻り値でmain関数に返しています。main関数は、文字の長さを受取り、整数型の情報としてprintfで表示しています。
スポンサーリンク