欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 問一個C語言extern跨文件變量使用的基礎問題 [打印本頁]

作者: nmgbtzyf    時間: 2020-2-15 12:50
標題: 問一個C語言extern跨文件變量使用的基礎問題
我知道這樣
extern int a;
外部聲明,
只是,想想如果利用函數返回 調用其它文件中的變量,也試沒問題
就是不明白C的底層知識,
像這樣倆種方法,目的是一樣的功能都能跨文件變量間的訪問,只是如果是外部聲明和函數返回調用
哪一個更適合,外部聲明,應該算是全局變量吧,這樣是對內存的占多,
還是函數返回會讓程序多跑路,事得其返,
C的甚而理論學的不扎實所以問問大神們你們一般是如何處理的

作者: csmyldl    時間: 2020-2-15 20:00
extern int a;是“聲明”了變量a,但沒分配存儲空間,還不能使用。int a;定義了變量a并分配了空間,可以使用。
聲明:聲明和定義是有區別的。聲明不等于定義,聲明只是指出了變量的名字,并沒有為其分配存儲空間;定義指出變量名字同時為變量分配存儲空間,定義包含了聲明。在程序中一個變量可以聲明多次,但只能定義一次。聲明時不能賦初值,如果聲明時有初始化值,就被當做定義了,例如:
extern  int  a = 5; //定義了變量a=5
后面的程序中若再出現extern  int a = 5;或者int  a;的語句,就會出錯,因為變量只能定義一次。
作者: nmgbtzyf    時間: 2020-2-15 22:39
謝謝,主要是,我有些習慣,一般盡量的不定義變量,或是常量,當然必要的是不可少,在大型的開發中這是重要的,
我的找一些方法,還是調用函數,主要是為了,好修改管理,全部的數據定義在一個文件內,在其它文件如果想訪問這里的數據,調用這文件里的函數就可以,
作者: csmyldl    時間: 2020-2-16 00:05
nmgbtzyf 發表于 2020-2-15 22:39
謝謝,主要是,我有些習慣,一般盡量的不定義變量,或是常量,當然必要的是不可少,在大型的開發中這是重要 ...

這是一種很好的結構化程序編寫方法,多編寫功能子函數,需要時就調用它
作者: hantu    時間: 2020-2-16 15:12
extern int a;

這個聲明意思是說,我現在要在當前C文件中使用a這個變量,而a是在其它C文件中定義過了,這樣而已。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1