真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

誑言C言語(yǔ)變量和數(shù)據(jù)類型-創(chuàng)新互聯(lián)

在《二進(jìn)制思惟以及數(shù)據(jù)的存儲(chǔ)》一節(jié)中講到:

創(chuàng)新互聯(lián)公司IDC提供業(yè)務(wù):成都服務(wù)器托管,成都服務(wù)器租用,成都服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機(jī)托管與主機(jī)租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機(jī)房,BGP機(jī)房,電信機(jī)房,移動(dòng)機(jī)房,聯(lián)通機(jī)房。
  • 盤算機(jī)要處置的數(shù)據(jù)(諸如數(shù)字、文字、符號(hào)、圖形、音頻、視頻等)是以二進(jìn)制的方式寄存在內(nèi)存中的;

  • 我們將8個(gè)比特(Bit)稱為一個(gè)字節(jié)(Byte),并將字節(jié)作為最小的可操作單位。

我們無(wú)妨先從最復(fù)雜的整數(shù)說(shuō)起,看看它是若何放到內(nèi)存中去的。

變量(Variable)

理想生涯中我們會(huì)找一個(gè)小箱子來(lái)寄存物品,一來(lái)顯得不那么混亂,二來(lái)便利今后找到。盤算機(jī)也是這個(gè)事理,我們需求先在內(nèi)存中找一塊區(qū)域,規(guī)則用它來(lái)寄存整數(shù),并起一個(gè)好記的名字,便利今后查找。這塊區(qū)域就是“小箱子”,我們可以把整數(shù)放出來(lái)了。
C言語(yǔ)中如許在內(nèi)存中找一塊區(qū)域:

int a;

int又是一個(gè)新單詞,它是 Integer 的簡(jiǎn)寫,意思是整數(shù)。a 是我們給這塊區(qū)域起的名字;當(dāng)然也可以叫其他名字,例如 abc、mn123 等。
這個(gè)語(yǔ)句的意思是:在內(nèi)存中找一塊區(qū)域,定名為 a,用它來(lái)寄存整數(shù)。

留意 int 和 a 之間是有空格的,它們是兩個(gè)詞。也留意最初的分號(hào),int a表達(dá)了完好的意思,是一個(gè)語(yǔ)句,要用分號(hào)來(lái)完畢。

不外int a;僅僅是在內(nèi)存中找了一塊可以保管整數(shù)的區(qū)域,那么若何將 123、100、999 如許的數(shù)字放出來(lái)呢?
C言語(yǔ)中如許向內(nèi)存中放整數(shù):

a=123;

=是一個(gè)新符號(hào),它在數(shù)學(xué)中叫“等于號(hào)”,例如 1+2=3,但在C言語(yǔ)中,這個(gè)進(jìn)程叫做賦值(Assign)。賦值是指把數(shù)據(jù)放到內(nèi)存的進(jìn)程。
把下面的兩個(gè)語(yǔ)句連起來(lái):

int a;
a=123;

就把 123 放到了一塊叫做 a 的內(nèi)存區(qū)域。你也可以寫成一個(gè)語(yǔ)句:

int a=123;

a 中的整數(shù)不是原封不動(dòng)的,只需我們需求,隨時(shí)可以更改。更改的方法就是再次賦值,例如:

int a=123;
a=1000;
a=9999;

第二次賦值,會(huì)把第一次的數(shù)據(jù)掩蓋(擦除)失落,也就是說(shuō),a 中最初的值是9999,123、1000 曾經(jīng)不存在了,再也找不回來(lái)了。
由于 a 的值可以改動(dòng),所以我們給它起了一個(gè)抽象的名字,叫做變量(Variable)。
int a;發(fā)明了一個(gè)變量 a,我們把這個(gè)進(jìn)程叫做變量界說(shuō)。a=123;把 123 交給了變量 a,我們把這個(gè)進(jìn)程叫做給變量賦值;又由于是第一次賦值,也稱變量的初始化,或許賦初值。
你可以先界說(shuō)變量,再初始化,例如:

int abc;
abc=999;

也可以在界說(shuō)的同時(shí)停止初始化,例如:

int abc=999;

這兩種方法是等價(jià)的。

變量界說(shuō)的地位

在VC或VS下,變量界說(shuō)要放在函數(shù)的掃尾;也就是說(shuō),在界說(shuō)變量之前不克不及有其他代碼。而在 GCC、Xcode 下,或許在運(yùn)用了 GCC 編譯器的 C-Free、Dev C++、Code::Blocks 下,變量界說(shuō)可以放在函數(shù)的恣意地位。
例如,下面的代碼在 VC、VS、GCC、Xcode 下多是準(zhǔn)確的:

			#include  int main() { int a = 10; int b = 1000; printf("BianChengBang"); return 0; }

對(duì)代碼稍作修正,將 printf 語(yǔ)句放在變量 a、b 兩頭,如下所示:

			#include  int main() { int a = 10; printf("BianChengBang"); int b = 1000; //在界說(shuō)b變量之前有 printf 語(yǔ)句 return 0; }

修正后的代碼在 GCC、Xcode 下是準(zhǔn)確的,而在 VC、VS 下就是毛病的。
為什么分歧的編譯器會(huì)有分歧的差別呢,基本緣由是什么呢?我們將在《C言語(yǔ)變量的界說(shuō)地位以及初始值》和《C言語(yǔ)的兩套規(guī)范》兩節(jié)具體解說(shuō)。

數(shù)據(jù)類型(Data Type)

數(shù)據(jù)是放在內(nèi)存中的,變量是給這塊內(nèi)存起的名字,有了變量就可以找到并運(yùn)用這份數(shù)據(jù)。但成績(jī)是,該若何運(yùn)用呢?
我們曉得,諸如數(shù)字、文字、符號(hào)、圖形、音頻、視頻等數(shù)據(jù)多是以二進(jìn)制方式存儲(chǔ)在內(nèi)存中的,它們并沒(méi)有實(shí)質(zhì)上的差別,那么,00010000 該了解為數(shù)字16呢,照樣圖像中某個(gè)像素的色彩呢,照樣要收回某個(gè)聲響呢?假如沒(méi)有特殊指明,我們并不曉得。
也就是說(shuō),內(nèi)存中的數(shù)據(jù)有多種說(shuō)明方法,運(yùn)用之前必需要肯定;下面的int a;就標(biāo)明,這份數(shù)據(jù)是整數(shù),不克不及了解為像素、聲響等。int 有一個(gè)專業(yè)的稱謂,叫做數(shù)據(jù)類型(Data Type)。
望文生義,數(shù)據(jù)類型用來(lái)闡明數(shù)據(jù)的類型,肯定了數(shù)據(jù)的說(shuō)明方法,讓盤算機(jī)和程序員不會(huì)發(fā)生歧義。在C言語(yǔ)中,有多種數(shù)據(jù)類型,例如:

說(shuō)  明字符型短整型整型長(zhǎng)整型單精度浮點(diǎn)型雙精度浮點(diǎn)型無(wú)類型
數(shù)據(jù)類型charshortintlongfloatdoublevoid

這些是最根本的數(shù)據(jù)類型,是C言語(yǔ)自帶的,假如我們需求,還可以經(jīng)過(guò)它們構(gòu)成愈加復(fù)雜的數(shù)據(jù)類型,前面我們會(huì)逐個(gè)解說(shuō)。

延續(xù)界說(shuō)多個(gè)變量

為了讓程序的書寫愈加簡(jiǎn)練,C言語(yǔ)支撐多個(gè)變量的延續(xù)界說(shuō),例如:

			int a, b, c; float m = 10.9, n = 20.56; char p, q = '@';

延續(xù)界說(shuō)的多個(gè)變量以逗號(hào),分隔,而且要具有相反的數(shù)據(jù)類型;變量可以初始化,也可以不初始化。

數(shù)據(jù)的長(zhǎng)度(Length)

所謂數(shù)據(jù)長(zhǎng)度(Length),是指數(shù)據(jù)占用若干個(gè)字節(jié)。占用的字節(jié)越多,能存儲(chǔ)的數(shù)據(jù)就越多,關(guān)于數(shù)字來(lái)說(shuō),值就會(huì)更大,反之能存儲(chǔ)的數(shù)據(jù)就無(wú)限。
多個(gè)數(shù)據(jù)在內(nèi)存中是延續(xù)存儲(chǔ)的,彼此之間沒(méi)有分明的界線,假如不明白指明數(shù)據(jù)的長(zhǎng)度,盤算機(jī)就不曉得何時(shí)存取完畢。例如我們保管了一個(gè)整數(shù) 1000,它占用4個(gè)字節(jié)的內(nèi)存,而讀取時(shí)卻以為它占用3個(gè)字節(jié)或5個(gè)字節(jié),這顯然是不準(zhǔn)確的。
所以,在界說(shuō)變量時(shí)還要指明數(shù)據(jù)的長(zhǎng)度。而這恰好是數(shù)據(jù)類型的別的一個(gè)感化。數(shù)據(jù)類型除了指明數(shù)據(jù)的說(shuō)明方法,還指清楚明了數(shù)據(jù)的長(zhǎng)度。由于在C言語(yǔ)中,每一種數(shù)據(jù)類型所占用的字節(jié)數(shù)多是固定的,曉得了數(shù)據(jù)類型,也就曉得了數(shù)據(jù)的長(zhǎng)度。
在32位情況中,各類數(shù)據(jù)類型的長(zhǎng)度普通如下:

說(shuō)  明字符型短整型整型長(zhǎng)整型單精度浮點(diǎn)型雙精度浮點(diǎn)型
數(shù)據(jù)類型charshortintlongfloatdouble
長(zhǎng)  度124448

C言語(yǔ)有若干種數(shù)據(jù)類型,每種數(shù)據(jù)類型長(zhǎng)度是若干、該若何運(yùn)用,這是每一位C程序員都必需要控制的,后續(xù)我們會(huì)逐個(gè)解說(shuō)。

最初的總結(jié)

數(shù)據(jù)是放在內(nèi)存中的,在內(nèi)存中存取數(shù)據(jù)要明白三件工作:數(shù)據(jù)存儲(chǔ)在哪里、數(shù)據(jù)的長(zhǎng)度以及數(shù)據(jù)的處置方法。
變量名不只僅是為數(shù)據(jù)起了一個(gè)好記的名字,還通知我們數(shù)據(jù)存儲(chǔ)在哪里,運(yùn)用數(shù)據(jù)時(shí),只需供給變量名即可;而數(shù)據(jù)類型則指清楚明了數(shù)據(jù)的長(zhǎng)度和處置方法。所以諸如int n;、char c;、float money;如許的方式就肯定了數(shù)據(jù)在內(nèi)存中的一切要素。
C言語(yǔ)供給的多種數(shù)據(jù)類型讓程序愈加靈敏和高效,同時(shí)也添加了進(jìn)修本錢。而有些編程言語(yǔ),例如PHP、JavaScript等,在界說(shuō)變量時(shí)不需求指明數(shù)據(jù)類型,編譯器會(huì)依據(jù)賦值狀況主動(dòng)推上演數(shù)據(jù)類型,愈加智能。
除了C言語(yǔ),Java、C++、C#等在界說(shuō)變量時(shí)也必需指明數(shù)據(jù)類型,如許的編程言語(yǔ)稱為強(qiáng)類型言語(yǔ)。而PHP、JavaScript等在界說(shuō)變量時(shí)不用指明數(shù)據(jù)類型,編譯零碎會(huì)主動(dòng)推演,如許的編程言語(yǔ)稱為弱類型言語(yǔ)。
強(qiáng)類型言語(yǔ)一旦肯定了數(shù)據(jù)類型,就不克不及再賦給其他類型的數(shù)據(jù),除非對(duì)數(shù)據(jù)類型停止轉(zhuǎn)換。弱類型言語(yǔ)沒(méi)有這種限制,一個(gè)變量,可以先賦給一個(gè)整數(shù),然后再賦給一個(gè)字符串。
最初需求闡明的是:數(shù)據(jù)類型只在界說(shuō)變量時(shí)指明,并且必需指明;運(yùn)用變量時(shí)無(wú)需再指明,由于此時(shí)的數(shù)據(jù)類型曾經(jīng)肯定了。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享名稱:誑言C言語(yǔ)變量和數(shù)據(jù)類型-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://weahome.cn/article/gidjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部