C語言指針入門學(xué)習(xí)_第1頁
C語言指針入門學(xué)習(xí)_第2頁
C語言指針入門學(xué)習(xí)_第3頁
C語言指針入門學(xué)習(xí)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——C語言指針入門學(xué)習(xí)C語言指針入門學(xué)習(xí)

想要成為一名優(yōu)秀的C程序員,學(xué)習(xí)指針是很有必要的。下面是我整理的C語言指針入門學(xué)習(xí)學(xué)識,夢想對大家有扶助!

正如您所知道的,每一個變量都有一個內(nèi)存位置,每一個內(nèi)存位置都定義了可使用連字號運(yùn)算符訪問的地址,它表示了在內(nèi)存中的一個地址。請看下面的實(shí)例,它將輸出定義的變量地址:

#includeintmainintvar1;charvar2[10];printfvar1變量的地址:%x,var1;printfvar2變量的地址:%x,var2;return0;

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生以下結(jié)果:

var1變量的地址:bff5a400var2變量的地址:bff5a3f6

通過上面的實(shí)例,我們了解了什么是內(nèi)存地址以及如何訪問它。接下來讓我們看看什么是指針。

什么是指針?

指針是一個變量,其值為另一個變量的地址,即,內(nèi)存位置的'直接地址。就像其他變量或常量一樣,您務(wù)必在使用指針存儲其他變量地址之前,對其舉行聲明。指針變量聲明的一般形式為:

type*var-name;

在這里,type是指針的基類型,它務(wù)必是一個有效的C數(shù)據(jù)類型,var-name是指針變量的名稱。用來聲明指針的星號*與乘法中使用的星號是一致的。但是,在這個語句中,星號是用來指定一個變量是指針。以下是有效的指針聲明:

int*ip;/*一個整型的指針*/double*dp;/*一個double型的指針*/float*fp;/*一個浮點(diǎn)型的指針*/char*ch/*一個字符型的指針*/

全體指針的值的實(shí)際數(shù)據(jù)類型,不管是整型、浮點(diǎn)型、字符型,還是其他的數(shù)據(jù)類型,都是一樣的,都是一個代表內(nèi)存地址的長的十六進(jìn)制數(shù)。不同數(shù)據(jù)類型的指針之間唯一的不同是,指針?biāo)赶虻淖兞炕虺A康臄?shù)據(jù)類型不同。

如何使用指針?

使用指針時會頻繁舉行以下幾個操作:定義一個指針變量、把變量地址賦值給指針、訪問指針變量中可用地址的值。這些是通過使用一元運(yùn)算符*來返回位于操作數(shù)所指定地址的變量的值。下面的實(shí)例涉及到了這些操作:

#includeintmainintvar=20;/*實(shí)際變量的聲明*/int*ip;/*指針變量的聲明*/ip=var;/*在指針變量中存儲var的地址*/printfAddressofvarvariable:%x,var;/*在指針變量中存儲的地址*/printfAddressstoredinipvariable:%x,ip;/*使用指針訪問值*/printfValueof*ipvariable:%d,*ip;return0;

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生以下結(jié)果:

Addressofvarvariable:bffd8b3cAddressstoredinipvariable:bffd8b3cValueof*ipvariable:20

C中的NULL指針

在變量聲明的時候,假設(shè)沒有切當(dāng)?shù)牡刂房梢再x值,為指針變量賦一個NULL值是一個良好的編程習(xí)慣。賦為NULL值的指針被稱為空指針。

NULL指針是一個定義在標(biāo)準(zhǔn)庫中的值為零的常量。請看下面的程序:

#includeintmainint*ptr=NULL;printfptr的值是%x,ptr;return0;

當(dāng)上面的代碼被編譯和執(zhí)行時,它會產(chǎn)生以下結(jié)果:

ptr的值是0

在大多數(shù)的操作系統(tǒng)上,程序不允許訪問地址為0的內(nèi)存,由于該內(nèi)存是操作系統(tǒng)留存的。然而,內(nèi)存地址0有更加重要的意義,它說明該指針不指向一個可訪問的內(nèi)存位置。但按照慣例,假設(shè)指針包含空值零值,那么假定它不指向任何東西。

如需檢查一個空指針,您可以使用if語句,如下所示:

ifptr/*假設(shè)p非空,那么完成*/if!ptr/*假

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論