C言語 関数 スクリプトの書き方

バイオインフォ道場、くまぞうです。

今回は、プログラムの基本構成となる「関数」を作ってみます。

スポンサーリンク



関数を利用したプログラム

メッセージの表示や、メッセージの長さを取得する関数を作成します。関数は、「戻り値 関数名(引数群)」で書きます。関数の呼出位置よりも後に関数を書く場合、先頭にプロトタイプ宣言が必要です。

プログラム

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で表示しています。

スポンサーリンク