バイオインフォ道場、くまぞうです。
今回は、プログラムの基本構成となる「関数」を作ってみます。
スポンサーリンク
関数を利用したプログラム
メッセージの表示や、メッセージの長さを取得する関数を作成します。関数は、「戻り値 関数名(引数群)」で書きます。関数の呼出位置よりも後に関数を書く場合、先頭にプロトタイプ宣言が必要です。
プログラム
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で表示しています。
スポンサーリンク
![バイオインフォ 道場 [bioinfo-Dojo]](https://bioinfo-dojo.net/wp-content/uploads/2016/03/some_object_luca-bravo-alS7ewQ41M8-unsplash.jpg)

