任何人都可以請讓我知道以下兩條c語句在初始化,table
和其他任何方面的區別。以下兩條c語句之間的區別
注意:兩者都是全局變量。
unsigned int *table[100] = {NULL};
static unsigned int *table[100] = {NULL};
任何人都可以請讓我知道以下兩條c語句在初始化,table
和其他任何方面的區別。以下兩條c語句之間的區別
注意:兩者都是全局變量。
unsigned int *table[100] = {NULL};
static unsigned int *table[100] = {NULL};
相似度:
差異:
請注意,如果您同時聲明瞭兩個文件,那麼靜態聲明將獲得最高優先級。即賦予表指針任何值將獲得靜態初始化。
請參閱我對OP的評論:http://stackoverflow.com/questions/39653161/difference-between-below-two-c-語句#comment66609677_39653161 – alk
unsigned int *table[100] = {NULL};
table
是指針的數組unsingned int
和初始化整個數組元素NULL
。
static unsigned int *table[100] = {NULL};//declared as static means initialized only once
table
是指針的數組static unsingned int
和初始化整個數組元素NULL
。
請注意,'... = {NULL}'*只會將數組的第一個元素*初始化爲NULL。 *所有其他元素被初始化爲「0」,兩者不一定需要相同,這取決於使用中的C實現。 – alk
@ P.J.Meisch:我覺得,標題是重複的,但不是內容。 – alk
引用我以前的評論:http://stackoverflow.com/q/9894013/694576 – alk