c語(yǔ)言中的指針淺談

c語(yǔ)言中的指針淺談

ID:23996615

大小:51.00 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2018-11-12

c語(yǔ)言中的指針淺談_第1頁(yè)
c語(yǔ)言中的指針淺談_第2頁(yè)
c語(yǔ)言中的指針淺談_第3頁(yè)
c語(yǔ)言中的指針淺談_第4頁(yè)
資源描述:

《c語(yǔ)言中的指針淺談》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。

1、C語(yǔ)言中的指針淺談:C語(yǔ)言是一門基礎(chǔ)的程序設(shè)計(jì)語(yǔ)言,在程序設(shè)計(jì)教學(xué)中占有重要的地位。在C語(yǔ)言中,較難理解的就是指針。本文試圖通過(guò)論述指針的定義、分類、運(yùn)算以及3中特殊的用途,讓大家能較清晰的認(rèn)識(shí)指針的本質(zhì)??梢灶A(yù)見(jiàn)的是只有深入的掌握的了指針才能真正的掌握了C語(yǔ)言。通過(guò)深入的應(yīng)用指針,C語(yǔ)言必定能夠應(yīng)用于更廣泛領(lǐng)域?! £P(guān)鍵詞:C語(yǔ)言;指針;程序設(shè)計(jì)  Abstract:C-languageisaprogramminglanguage,teachingintheprogramdesignplaysa

2、nimportantrole.IntheClanguage,difficulttounderstandisthepointer.Thisarticleintendstodiscusstheindicatorsofdefinitions,classifications,operationsand3specialpurpose,sothatoreclearlyunderstandthenaturepointer.Canbeexpectedthatonlyathoroughgraspofthepoint

3、ercantrulygraspoftheClanguage.Applicationsthroughin-depthpointers,Clanguageoreming  一、引言  C語(yǔ)言是目前教學(xué)中使用最廣的程序設(shè)計(jì)語(yǔ)言。雖然近年來(lái)產(chǎn)生了許多功能豐富的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,但鮮有能代替C語(yǔ)言的。其主要原因就是它不僅是一門高級(jí)語(yǔ)言更重要的是它能直接對(duì)物理地址進(jìn)行訪問(wèn),具有雙重功能,是嵌入式設(shè)計(jì)中必不可少的一門語(yǔ)言。C語(yǔ)言功能強(qiáng)大的主要原因就是具有指針結(jié)構(gòu)。指針是一種特殊的數(shù)據(jù)類型,直接指向目標(biāo)的存儲(chǔ)地

4、址,實(shí)現(xiàn)直接訪問(wèn)對(duì)象存儲(chǔ)空間的功能,具有重要的作用?! 《語(yǔ)言中的指針簡(jiǎn)介  在C語(yǔ)言中,任何一個(gè)變量總結(jié)起來(lái)包括變量的數(shù)據(jù)類型、存儲(chǔ)空間。在數(shù)據(jù)類型中定義的變量的基本范圍和操作類型。存儲(chǔ)空間就是變量在計(jì)算機(jī)中的存儲(chǔ)地址,如何有效的存儲(chǔ)變量并能有效的訪問(wèn)到它這是一個(gè)必須解決的問(wèn)題。指針就是表示地址的一種變量,所以指針的范圍嚴(yán)格來(lái)說(shuō)只能是自然數(shù)的,并且不能在兩個(gè)指針間進(jìn)行加、乘、除這樣的運(yùn)算。由于在C語(yǔ)言中每個(gè)數(shù)據(jù)類型都必有存儲(chǔ)空間,所以指針可以應(yīng)用于幾乎所有的數(shù)據(jù)類型中。所以,從這個(gè)角度出發(fā)可

5、以將指針?lè)譃椋褐赶蜃兞康闹羔?、?shù)組指針、字符指針、指向指針的指針、函數(shù)指針、結(jié)構(gòu)變量的指針以及文件指針等等。其中,指向變量的指針就是存儲(chǔ)變量的地址的。如int*s這就是一個(gè)指向整型的指針,可以用于指向一個(gè)整型變量。如inta;當(dāng)p=a時(shí),就是將p存儲(chǔ)整型變量a的地址。這是指針最簡(jiǎn)單的一種類型。所謂數(shù)組指針,就是指數(shù)組的名稱實(shí)際上是指向整個(gè)數(shù)組空間的首指針。如inta[10];其中a本質(zhì)上是一個(gè)指針,指向該數(shù)組的第一個(gè)位置,a[2]表示距離a指向空間向后2個(gè)位置所在空間中的存放的值。所以,a[2]=

6、*(a+2)。字符指針本質(zhì)上是數(shù)組指針的一種特殊情況,就是存放字符串的數(shù)組所對(duì)應(yīng)的數(shù)組名。指向指針的指針這是一類很特殊的指針,用于存放指針的一類指針,在本質(zhì)上與指向變量的指針十分相似。例如char*ss[N]={“java”,”sss”,’’rrr”}。指向函數(shù)的指針就是指向函數(shù)入口地址的指針。結(jié)構(gòu)變量的指針這類指針和指向變量的指針很類似,主要的區(qū)別在于結(jié)構(gòu)變量可能有多個(gè)類型不同的變量,所以一般空間較大。文件指針就是對(duì)文件進(jìn)行操作的指針。從上述的分類可以看出無(wú)論什么類型的指針其功能都是一樣的就是用

7、于指向?qū)ο蟮牡刂房臻g罷了。  上面簡(jiǎn)要的介紹了指針的定義和分類,現(xiàn)在簡(jiǎn)要的論述一下指針涉及到的運(yùn)算操作。首先由于指針是存放的變量地址的,所以第一個(gè)操作就是對(duì)指針進(jìn)行地址賦值。如inta,*p;  P=a,這就是對(duì)指針p進(jìn)行進(jìn)行賦變量a的地址,p指向變量a。當(dāng)然也可以通過(guò)指針獲取指針指向地址空間所存儲(chǔ)的值。如intb=2,*p;p=a,這是*p就表示p指向空間所存儲(chǔ)的值,在本例中就是a的值2。為了能在數(shù)組指針中通過(guò)指針能訪問(wèn)到整個(gè)數(shù)組的值,所以??梢詫?duì)指針進(jìn)行加減整數(shù)值,表示地址的前移或后移。如in

8、ta[10],*p,*s;p=a;s=p+2;其中s的值表示數(shù)組中首地址向前移動(dòng)2的位置,表示a[2]對(duì)應(yīng)的地址。為了表示兩個(gè)地址間存在的距離,可以通過(guò)指針間的減法實(shí)現(xiàn)。當(dāng)然指針涉及到的還有其他運(yùn)算,現(xiàn)不詳述了?! ∪語(yǔ)言中的指針應(yīng)用  在C語(yǔ)言中指針的十分應(yīng)用廣泛,除具有一般的功能外,具體特殊功能的應(yīng)用總結(jié)起來(lái)有三個(gè)方面:一是用于在函數(shù)中可以返回多個(gè)值;還有就是可以實(shí)現(xiàn)動(dòng)態(tài)調(diào)用函數(shù);最后就是實(shí)現(xiàn)數(shù)組的動(dòng)態(tài)定義。其中,由于由函數(shù)的特點(diǎn),一個(gè)函數(shù)只能有一個(gè)返回值,但在有些場(chǎng)合需要

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。