title: is it possible to declare a large array as static and use it as extern in other files in c
body: <p>i have a very big array which is shared among many functions in many files in a vc project. My  problem is, I have to declare it in <strong>main()</strong> and use <strong>extern</strong> in the header files. Since the array is too large for the stack i have to use static which makes it impossible to have the extern declaration in the header files. </p>
  
  <p>How can I solve this problem?</p>
  
  <p>EDIT:</p>
  
  <p>What i did was as you said but i get <strong>error LNK2001: unresolved external symbol</strong></p>
  
  <p>Here is my global declaration and the extern declaration:</p>
  
  <p><strong>main.c</strong></p>
  
  <p>static unsigned char          bit_table_[ROWS][COLUMNS];</p>
  
  <p><strong>hdr.h</strong></p>
  
  <p>extern  unsigned char          bit_table_[ROWS][COLUMNS];</p>
  
  <p><strong>ROWS</strong> and <strong>COLUMNS</strong> could grow as large as 1024 and 1048576 respectively</p>