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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2233|回復(fù): 4
收起左側(cè)

問一個C語言extern跨文件變量使用的基礎(chǔ)問題

[復(fù)制鏈接]
ID:285416 發(fā)表于 2020-2-15 12:50 | 顯示全部樓層 |閱讀模式
我知道這樣
extern int a;
外部聲明,
只是,想想如果利用函數(shù)返回 調(diào)用其它文件中的變量,也試沒問題
就是不明白C的底層知識,
像這樣倆種方法,目的是一樣的功能都能跨文件變量間的訪問,只是如果是外部聲明和函數(shù)返回調(diào)用
哪一個更適合,外部聲明,應(yīng)該算是全局變量吧,這樣是對內(nèi)存的占多,
還是函數(shù)返回會讓程序多跑路,事得其返,
C的甚而理論學(xué)的不扎實所以問問大神們你們一般是如何處理的
回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2020-2-15 20:00 | 顯示全部樓層
extern int a;是“聲明”了變量a,但沒分配存儲空間,還不能使用。int a;定義了變量a并分配了空間,可以使用。
聲明:聲明和定義是有區(qū)別的。聲明不等于定義,聲明只是指出了變量的名字,并沒有為其分配存儲空間;定義指出變量名字同時為變量分配存儲空間,定義包含了聲明。在程序中一個變量可以聲明多次,但只能定義一次。聲明時不能賦初值,如果聲明時有初始化值,就被當(dāng)做定義了,例如:
extern  int  a = 5; //定義了變量a=5
后面的程序中若再出現(xiàn)extern  int a = 5;或者int  a;的語句,就會出錯,因為變量只能定義一次。
回復(fù)

使用道具 舉報

ID:285416 發(fā)表于 2020-2-15 22:39 | 顯示全部樓層
謝謝,主要是,我有些習(xí)慣,一般盡量的不定義變量,或是常量,當(dāng)然必要的是不可少,在大型的開發(fā)中這是重要的,
我的找一些方法,還是調(diào)用函數(shù),主要是為了,好修改管理,全部的數(shù)據(jù)定義在一個文件內(nèi),在其它文件如果想訪問這里的數(shù)據(jù),調(diào)用這文件里的函數(shù)就可以,
回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2020-2-16 00:05 | 顯示全部樓層
nmgbtzyf 發(fā)表于 2020-2-15 22:39
謝謝,主要是,我有些習(xí)慣,一般盡量的不定義變量,或是常量,當(dāng)然必要的是不可少,在大型的開發(fā)中這是重要 ...

這是一種很好的結(jié)構(gòu)化程序編寫方法,多編寫功能子函數(shù),需要時就調(diào)用它
回復(fù)

使用道具 舉報

ID:462827 發(fā)表于 2020-2-16 15:12 | 顯示全部樓層
extern int a;

這個聲明意思是說,我現(xiàn)在要在當(dāng)前C文件中使用a這個變量,而a是在其它C文件中定義過了,這樣而已。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表