目次から探す
実際のコード例
static変数の使用例
#include <stdio.h>
void increment() {
static int count = 0; // static変数の宣言
count++;
printf("count: %d\n", count);
}
int main() {
increment(); // count: 1
increment(); // count: 2
increment(); // count: 3
return 0;
}
上記のコードでは、increment関数
内でstatic変数
countを宣言しています。
この変数は、関数が呼び出されるたびにインクリメントされ、その値が保持されます。
そのため、countの値は関数呼び出しのたびに増えていきます。
extern変数の使用例
// 外部ファイル: extern_example.c
#include <stdio.h>
extern int globalVariable; // extern変数の宣言
void printGlobalVariable() {
printf("globalVariable: %d\n", globalVariable);
}
// メインファイル: main.c
#include <stdio.h>
int globalVariable = 10; // extern変数の定義
extern void printGlobalVariable(); // extern関数の宣言
int main() {
printGlobalVariable(); // globalVariable: 10
return 0;
}
上記のコードでは、extern変数
globalVariableを使用して、外部ファイルとメインファイルで変数を共有しています。
外部ファイルでglobalVariableを宣言し、メインファイルでその変数を定義しています。
そして、メインファイルでextern関数
printGlobalVariableを宣言し、外部ファイルで定義された関数を呼び出しています。
これにより、メインファイルから外部ファイルの変数を参照することができます。
以上が、C言語におけるstaticとexternの違いや使い方です。
それぞれのキーワードの特徴を理解し、適切に使い分けることで、効果的なプログラミングができるでしょう。