C言語でグローバル配列を宣言するには?
C言語では、配列のグローバル宣言を関数の外側で行うことができます。宣言時に配列の型とサイズの指定が必要です。以下に配列のグローバル宣言の例を示します。
#include <stdio.h>
// 声明一个全局整型数组,大小为10
int globalArray[10];
int main() {
// 对全局数组进行赋值
for (int i = 0; i < 10; i++) {
globalArray[i] = i;
}
// 打印全局数组的值
for (int i = 0; i < 10; i++) {
printf("%d ", globalArray[i]);
}
return 0;
}
グローバルスコープで、Globalarrayという名前の大きさ10の配列を作成し、main内で配列に値を代入し、その値を標準出力に出力しています。
C言語では、グローバル配列の宣言をヘッダファイル内で行うこともできます。それにより複数のソースファイルで同じグローバル配列を使用可能になります。ほかのソースファイルでグローバル配列を使用する際には、externキーワードで参照できます。
例えば、ヘッダファイルglobals.hでグローバル配列を宣言する:
#ifndef GLOBALS_H
#define GLOBALS_H
extern int globalArray[10];
#endif
main.c および other.c のソースファイルでそれぞれグローバル配列を使用する。
#include <stdio.h>
#include "globals.h"
int main() {
// 对全局数组进行赋值
for (int i = 0; i < 10; i++) {
globalArray[i] = i;
}
// 打印全局数组的值
for (int i = 0; i < 10; i++) {
printf("%d ", globalArray[i]);
}
return 0;
}
#include <stdio.h>
#include "globals.h"
void printGlobalArray() {
// 打印全局数组的值
for (int i = 0; i < 10; i++) {
printf("%d ", globalArray[i]);
}
}
int main() {
// 在其他函数中使用全局数组
printGlobalArray();
return 0;
}
上記の例では、ヘッダファイルglobals.h をインクルードすることでグローバル配列を参照しています。それにより、複数のソースファイルで同じグローバル配列が使用されることができ、コードがより見やすくモジュール化されます。