c語言extern的用法 c語言中的extern怎么用?
c語言中的extern怎么用?Extern是C中的一個外部聲明,因為C在使用它之前聲明它。當要調用的變量或函數(shù)不在模塊中時,可以使用外部聲明。使用外部聲明時應特別注意,因為它只是一個聲明,而不是實體。
c語言中的extern怎么用?
Extern是C中的一個外部聲明,因為C在使用它之前聲明它。當要調用的變量或函數(shù)不在模塊中時,可以使用外部聲明。使用外部聲明時應特別注意,因為它只是一個聲明,而不是實體。當聲明與實體不匹配時,編譯器將不會處理它,并且鏈接后可能會發(fā)生錯誤。例如,您的實體是intsample(intx),您將其聲明為externalintsample(void),因此我不喜歡這種聲明方式。特別是在多人合作的項目中,這種方法的結果很難調試。即使有人編寫了提供給您的內容,當他更改函數(shù)或變量的類型和參數(shù)時,也常常忘記修改提供給您的語句。
extern的另一個功能是,當您將C與C混合使用時,例如,如果您想在C中使用C,您需要告訴編譯器您的代碼使用C,并且需要使用C編譯器進行編譯。可以使用extern“C”{…}否則編譯時會出現(xiàn)問題
extern用于聲明外部函數(shù)或變量定義。例如,在1.C中定義一個函數(shù)和變量:void fun1(void)int a=0,并且要在2.C中調用fun1(),并讀取a的值,那么在編譯器編譯2時,需要按如下方式重新設置2.C的頭:extern:extern extern(())。C、 它不會報告錯誤。相反,它將尋找fun1和a來訪問外部函數(shù)和變量。
c語言中extern怎么用,舉個簡單例子說明下,謝謝?
瀉藥,這種問題最煩人。就說我的觀點是錯誤的吧。別噴了。Extern有很多功能。如果順序是int a=2;extern int a;此時,編譯器理解extern是一個引用變量,因此當int a=2時,將其更改為static int a=2;
沒有問題,但順序是extern int a;static int a=2;extern的功能是聲明變量a。如果聲明變量a,(不同于普通int a,definition)u,你需要有一個定義,但是你定義了static int,所以編譯器認為變量a只有一個聲明但沒有定義,所以它自然會報告一個錯誤。