簡體   English   中英

C:定義用戶可以聲明其大小的全局數組變量

[英]C: Define global array variable that user can declare its size

我想用C語言設置一個int數組的全局引用,但我想在main函數中初始化它(實際上用戶將聲明它的大小)。 誰知道這是怎么做到的?

提前致謝!

將指向int的指針聲明為全局變量,並使用malloc在main中初始化它。

/* outside any function, so it's a global variable: */
int *array;
size_t array_size;

/* inside main(): */
array_size = user_defined_size;
array = malloc( sizeof(int)*array_size);
if ( array == NULL) {
    /* exit - memory allocation failed. */
}
/* do stuff with array */
free(array);

如果需要從另一個模塊(源文件)訪問全局變量,請再次使用它來聲明它

extern int *array;
extern size_t array_size;

或者,優選地,聲明它們extern在包括在使用所述陣列,包括在那里它們被定義的源任何源文件頭文件(以確保類型一致性)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM