成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

指針的簡單教程

C語言中,指針是一種廣泛使用的數(shù)據(jù)類型。利用指針編程是C語言最主要的風(fēng)格之一。指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu),方便地使用數(shù)組和字符串,并且能夠像匯編語言一樣處理內(nèi)存地址,從而編寫出精練而高效的程序。指針

C語言中,指針是一種廣泛使用的數(shù)據(jù)類型。利用指針編程是C語言最主要的風(fēng)格之一。指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu),方便地使用數(shù)組和字符串,并且能夠像匯編語言一樣處理內(nèi)存地址,從而編寫出精練而高效的程序。指針極大地豐富了C語言的功能。學(xué)習(xí)指針是學(xué)習(xí)C語言中最重要的一環(huán),能否正確理解和使用指針是我們是否掌握C語言的一個標(biāo)志。同時,指針也是C語言中最為困難的一部分,在學(xué)習(xí)中除了要正確理解基本概念,還必須要多編程,上機調(diào)試。只要作到這些,指針也是不難掌握的。

C語言地址指針的基本概念

在計算機中,所有的數(shù)據(jù)都是存放在存儲器中的。一般把存儲器中的一個字節(jié)稱為一個內(nèi)存單元,不同的數(shù)據(jù)類型所占用的內(nèi)存單元數(shù)不等,如整型量占2個單元,字符量占1個單元等。為了正確地訪問這些內(nèi)存單元,必須為每個內(nèi)存單元編上號,即給每個內(nèi)存單元分配一個唯一的地址。這個地址就是指針,也可以說是內(nèi)存單元的編號。

在C語言中,允許用一個變量來存放指針,這種變量稱為指針變量。指針變量的值即為某個內(nèi)存單元的地址,也可以說是某個內(nèi)存單元的指針。嚴格地說,一個指針是一個地址,是一個常量。而一個指針變量卻可以被賦予不同的指針值,是變量。但通常把指針變量簡稱為指針。定義指針的目的是為了通過指針去訪問內(nèi)存單元。

變量的指針和指針變量

變量的指針就是變量的地址,存放變量地址的變量是指針變量。在C語言中,允許用一個變量來存放指針,這種變量稱為指針變量。指針變量的值即為某個變量的地址,也可以說是某個變量的指針。

為了表示指針變量和它所指向的變量之間的關(guān)系,在程序中用“*”符號表示“指向”,例如,`i_pointer`代表指針變量,而`*i_pointer`是`i_pointer`所指向的變量。因此,下面兩個語句作用相同:

```

i 3;

*i_pointer 3;

```

第二個語句的含義是將3賦給指針變量`i_pointer`所指向的變量。

定義一個指針變量包括三個內(nèi)容:指針類型說明、指針變量名和變量值(指針)所指向的變量的數(shù)據(jù)類型。其一般形式為:

```

類型說明符 *變量名;

```

其中,`*`表示這是一個指針變量,變量名即為定義的指針變量名,類型說明符表示本指針變量所指向的變量的數(shù)據(jù)類型。

例如:

```

int *p1; // p1是一個指針變量,它的值是某個整型變量的地址

float *p2; /* p2是指向浮點變量的指針變量 */

char *p3; /* p3是指向字符變量的指針變量 */

```

通過訪問指針變量,可以取得數(shù)組或函數(shù)的首地址,從而找到該數(shù)組或函數(shù)。這樣一來,凡是出現(xiàn)數(shù)組和函數(shù)的地方都可以用一個指針變量來表示,只要該指針變量中賦予數(shù)組或函數(shù)的首地址即可。這樣做將會使程序的概念十分清楚,程序本身也更加精練和高效。在C語言中,一種數(shù)據(jù)類型或數(shù)據(jù)結(jié)構(gòu)往往占有一組連續(xù)的內(nèi)存單元。用“地址”這個概念并不能很好地描述一種數(shù)據(jù)類型或數(shù)據(jù)結(jié)構(gòu),而“指針”雖然實際上也是一個地址,但它卻是一個數(shù)據(jù)結(jié)構(gòu)的首地址,它是“指向”一個數(shù)據(jù)結(jié)構(gòu)的,因此概念更為清楚,表示更為明確。這也是引入“指針”概念的一個重要原因。

標(biāo)簽: