C言語變量的地址-創(chuàng)新互聯(lián)

要研討指針,我們得先來深化了解內(nèi)存地址這個概念。打個比如:全部內(nèi)存就相當于一個具有許多房間的大樓,每一個房間都有房間號,比方從 101、102、103 不斷到 NNN,我們可以說這些房間號就是房間的地址。絕對應(yīng)的內(nèi)存中的每一個單位也都有本人的編號,比方從0x00、0x01、0x02 不斷到 0xNN,我們異樣可以說這些編號就是內(nèi)存單位的地址。房間里可以住人,對應(yīng)的內(nèi)存單位里就可以“住進”變量了:假設(shè)一位名字叫 A 的人住在 101 房間,我們可以說 A 的住址就是 101,或許 101 就是 A 的住址;對應(yīng)的,假設(shè)一個名為 x 的變量住在編號為 0x00 的這個內(nèi)存單位中,那么我們可以說變量 x 的內(nèi)存地址就是 0x00,或許 0x00就是變量 x 的地址。
根本的內(nèi)存單位是字節(jié),英文單詞為 Byte,我們所運用的 STC89C52 單片機共有 512 字節(jié)的 RAM,就是我們所謂的內(nèi)存,但它分為外部 256 字節(jié)和內(nèi)部 256 字節(jié),我們僅之內(nèi)部的 256 字節(jié)為例,很分明其地址的編號從 0 開端就是 0x00~0xFF。我們用 C 言語界說的各類變量就存在 0x00~0xFF 的地址規(guī)模內(nèi),而分歧類型的變量會占用分歧數(shù)目的內(nèi)存單位,即字節(jié),可以聯(lián)合后面講過的 C 言語變量類型深化了解。假設(shè)如今界說了

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)欒川免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
			unsigned char a = 1; unsigned char b = 2; unsigned int c = 3; unsigned long d = 4;

如許 4 個變量,我們把這 4 個變量辨別放到內(nèi)存中,就會是表 12-1 中所列的樣子,我們先來大約理解一下他們的存儲方法。
表12-1 變量存儲方法

內(nèi)存地址存儲的數(shù)據(jù)
…………
0x07d
0x06d
0x05d
0x04d
0x03c
0x02c
0x01b
0x00a

變量 a、b 和 c 和 d 之間的變量類型分歧,因而在內(nèi)存中所占的存儲單位也紛歧樣,a 和b 都占一個字節(jié),c 占了 2 個字節(jié),而 d 占了 4 個字節(jié)。那么,a 的地址就是 0x00,b 的地址就是 0x01,c 的地址就是 0x02,d 的地址就是 0x04,它們的地址的表達方法可以寫成:&a,&b,&c,&d。如許就代表了響應(yīng)變量的地址,C 言語中變量前加一個&表現(xiàn)取這個變量的地址,&在這里就叫做“取址符”。
講到這里,有一點延長內(nèi)容,人人可以理解下:比方變量 c 是 unsigned int 類型的,占了2 個字節(jié),存儲在了 0x02 和 0x03 這兩個內(nèi)存地址上,那么 0x02 是它的低字節(jié)照樣高字節(jié)呢?
這個成績由所用的 C 編譯器與單片機架構(gòu)配合決議,單片機類型分歧就有能夠分歧,人人曉得這么回事即可。比方:在我們運用的 Keil+51 單片機的情況下,0x02 存的是高字節(jié),0x03存的是低字節(jié)。這是編譯底層完成上的細節(jié)成績,并不影響下層的使用,如下這兩種狀況在使用上涓滴不受這個細節(jié)的影響:強迫類型轉(zhuǎn)換——b = (unsigned char) c,那么 b 的值必定是 c 的低字節(jié);取地址——&c,則失掉的必定是 0x02,這多是 C 言語自身所決議的規(guī)矩,不因單片機編譯器的分歧而有所改動。
實踐生涯中,我們要尋覓一團體有兩種方法,一種方法是經(jīng)過它的名字來找人,還有第二種方法就是經(jīng)過它的室廬地址來找人。我們在派出所的戶籍治理零碎的信息輸出方框內(nèi),輸出小明的家庭住址,零碎會主動指向小明的相干信息,輸出小剛的家庭住址,零碎會主動指向小剛的相干信息。這個供我們輸出地址的方框,在戶籍治理零碎叫做“地址輸出框”。
那么,在 C 言語中,我們要拜訪一個變量,異樣有兩種方法:一種是經(jīng)過變量名來拜訪,另一種天然就是經(jīng)過變量的地址來拜訪了。在 C 言語中,地址就同等于指針,變量的地址就是變量的指針。我們要把地址送到上邊誰人所謂的“地址輸出框”內(nèi),這個“地址輸出框”既可以輸出 x 的指針,又可以輸出 y 的指針,所以相當于一個特別的變量——保管指針的變量,因而稱之為指針變量,簡稱為指針,而平日我們說的指針就是指指針變量。
地址輸出框輸出誰的地址,指向的就是這團體的信息,而給指針變量輸出哪個通俗變量的地址,它天然就指向了這個變量的內(nèi)容,平日的說法就是指針指向了該變量。

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

文章名稱:C言語變量的地址-創(chuàng)新互聯(lián)
標題鏈接:http://bm7419.com/article16/dippgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名定制網(wǎng)站、品牌網(wǎng)站制作網(wǎng)站導(dǎo)航、外貿(mào)建站響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)