サブルーチン
ある決まった処理をまとめておくことができるのがサブルーチンです。
この例は、サブルーチンに番号を渡すことで、その番号に応じたメッセージを表示するものです。
#include <stdio.h>
void sub1(int);
void main(void) {
sub1(0);
sub1(1);
sub1(2);
}
void sub1(int cnt) {
char str[3][6] = {"12345","ABCDE","abcde"};
printf("%d:%s\n", cnt, str[cnt]);
}
実行結果
0:12345
1:ABCDE
2:abcde
サブルーチン グローバル変数を使う
グローバル変数とは、プログラム全体からアクセスできる変数です。
ローカル変数は、宣言されているルーチンが終了するとエリアは解放されて消滅してしまいます。
グルーバル変数の宣言は、ルーチンの外部で行います。
#include <stdio.h>
void sub1(int);
int gint;
void main(void) {
gint = 0;
sub1(0);
sub1(2);
sub1(4);
printf("サブルーチン呼び出し回数:%d", gint);
}
void sub1(int cnt) {
char str[5][6] = {"12345","ABCDE","abcde","$%&'(","@@@@@"};
gint++;
printf("%d:%s\n", cnt, str[cnt]);
}
実行結果
0:12345
2:abcde
4:@@@@@
サブルーチン呼び出し回数:3
gint をグローバル変数として宣言して、サブルーチンの中だけで加算していきます。
処理終了時に、サブルーチンが呼び出された回数を表示しています。