c語言指針范文10篇_第1頁
c語言指針范文10篇_第2頁
c語言指針范文10篇_第3頁
c語言指針范文10篇_第4頁
c語言指針范文10篇_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

c語言指針范文10篇

指針是C語言的一個(gè)最重要的特征,它供應(yīng)了一種統(tǒng)一的方法,使其能訪問遠(yuǎn)程的數(shù)據(jù)結(jié)構(gòu)。但對C語言初學(xué)者而言,在編程過程中嫻熟的使用指針并不能像使用int型變量一樣地輕松開心,簡單上手,往往是不得其精髓。我們知道,不論什么時(shí)候,運(yùn)行一個(gè)程序A,首先都是操作系統(tǒng)自身的加載器把A裝入內(nèi)存,然后CPU才能執(zhí)行。所以A程序的全部要素都會駐留在內(nèi)存的某個(gè)位置。

下面我們看一段示例程序。

#include

intcmp(intfirst,intsecond)

{

return(first>second?first:second);

}

intmain(intargc,char**argv)

{

inti=5;

intj=9;

returncmp(i,j);

}

首先,編譯器會為變量i和j開拓內(nèi)存空間,用來存儲i和j的值。同時(shí)也會為函數(shù)cmp開拓空間來存放其代碼。這樣使得最終的可執(zhí)行程序就變?yōu)榱烁鷥?nèi)存一一對應(yīng)的序列。操作系統(tǒng)的加載器把這個(gè)可執(zhí)行程序載入內(nèi)存后,cpu就可以按一條條的語句挨次執(zhí)行了。

既然內(nèi)存空間同程序的全部要素是一一對應(yīng)的,那么怎么區(qū)分各要素的存放位置呢?內(nèi)存使用不同的地址存放不同的要素,如下所示。

由于變量都存放于內(nèi)存地址空間,并且與地址之間是一一對應(yīng)的,那么利用地址能做些什么呢?我們可以把地址存放到別的變量中,以便我們可以在以后程序的某個(gè)地方使用它。C語言有一個(gè)特地用來存儲內(nèi)存地址的變量,這就是指針變量,通常我們稱之為指針(pointer)。它是一種變量類型,這種變量便利我們把需要操控的內(nèi)存地址記憶起來。

定義指針

定義指針的運(yùn)算符同乘法運(yùn)算符是一樣的,都用“*”表示。定義一個(gè)指針變量在語法上是簡潔的,同我們定義其他變量的區(qū)分是:首先規(guī)定它指向的變量類型,然后并不是馬上就給出其變量的標(biāo)識符,而是在變量類型同變量標(biāo)識符之間插入指針運(yùn)算符(星號),這樣就告知編譯器這是一個(gè)指針變量。

C語言中指針可以指向任何的數(shù)據(jù)類型,包括函數(shù)。函數(shù)指針的定義是:函數(shù)返回值+(*+函數(shù)指針變量標(biāo)識符)+(函數(shù)的參數(shù)列表)。函數(shù)指針能構(gòu)建出更加清楚的程序結(jié)構(gòu)。編程中常常使用的指針定義就是這兩種,當(dāng)然有些定義可能只是語法上面有意義,但是語義上面不肯定有詳細(xì)的意義。例如,int*(*(*(*f)()))()聲明f是一個(gè)函數(shù)指針,該函數(shù)返回一個(gè)指針,該指針指向數(shù)組,該數(shù)組元素是指針,那些指針指向返回值類型為整型指針的函數(shù)。這樣的聲明可能永久也不能應(yīng)用到實(shí)際的代碼中。

指針和數(shù)組

數(shù)組是內(nèi)存中一段連續(xù)相同類型的內(nèi)存數(shù)據(jù),這組數(shù)據(jù)的首地址以數(shù)組名字來標(biāo)識。全部數(shù)組對其數(shù)據(jù)的操控都可以使用指針來實(shí)現(xiàn),同理,指針指向一段內(nèi)存數(shù)據(jù)時(shí),也可以使用數(shù)組下標(biāo)的方式來實(shí)現(xiàn)操作。

數(shù)組與指針在使用上的某些地方是特別相像的,但是數(shù)組與指針又有一些細(xì)小的區(qū)分。數(shù)組名表現(xiàn)為一個(gè)靜態(tài)指針,也可以直接把它賦值給指針變量,但它的大小與指針通常是不同的。數(shù)組名的內(nèi)涵在于其指代的實(shí)體是一種數(shù)據(jù)結(jié)構(gòu),這種數(shù)據(jù)結(jié)構(gòu)就是數(shù)組。數(shù)組名可以作為參數(shù)傳入一個(gè)接受參數(shù)為指針的函數(shù)內(nèi)部,但是此時(shí)數(shù)組完全丟失了數(shù)組的本義,變成了完全的指針類型,其常量特性(可以作自增、自減等操作)可以被修改。并且,數(shù)組名不能再重新賦值為其他的數(shù)組名字,而指針變量是可以被重新賦值并指向一段新的內(nèi)存地址的。

指針的運(yùn)算

指針的運(yùn)算指的是指針的--、++、-和+運(yùn)算,一個(gè)指針可以加上或者減去一個(gè)整數(shù)。兩個(gè)指針相減得到的是指針之間相隔的元素個(gè)數(shù)。不同的指針變量之間進(jìn)行相加運(yùn)算盡管在語法上是合理的,但是從語義上來講是沒有意義的。除了void型指針和函數(shù)指針以外,全部其他類型的指針都可以進(jìn)行指針運(yùn)算。通過指針變量的增加或削減,指針變量會指向新的內(nèi)存地址。

一般來說,指針變量自身的大小在理論上是指機(jī)器的字長,但是指針變量的運(yùn)算并不是根據(jù)指針變量自身的大小進(jìn)行內(nèi)存偏移的,而是根據(jù)指針變量指向的變量類型大小進(jìn)行內(nèi)存偏移的。比如,聲明一個(gè)整形的指針p,假定p的地址是0x4323672,那么++p后p的值變?yōu)?x43236726。偏移的內(nèi)存大小等于整形變量的內(nèi)存大小4(sizeof(int))。同理,double型指針進(jìn)行++運(yùn)算后偏移值就是8(sizeof(double))。

指針強(qiáng)轉(zhuǎn)

猶如整形變量可以強(qiáng)轉(zhuǎn)為浮點(diǎn)型變量一樣,指針類型也可以通過強(qiáng)轉(zhuǎn)變成新的指針類型,比如我們可以把整形指針強(qiáng)轉(zhuǎn)為字符型指針。指針強(qiáng)轉(zhuǎn)最迷人的地方就在于對內(nèi)存數(shù)據(jù)進(jìn)行操控就夠了。指針強(qiáng)轉(zhuǎn)使得指針對數(shù)據(jù)的操控更具有針對性,而且通過指針的默認(rèn)強(qiáng)轉(zhuǎn)可以使得函數(shù)的參數(shù)更簡潔,且傳遞的信息量是不變的。比如,void*作為參數(shù)時(shí)可以把任意的指針變量傳遞到函數(shù)內(nèi)部進(jìn)行相關(guān)的操作。

下面我們來看一個(gè)詳細(xì)的例子。數(shù)據(jù)的內(nèi)存布局如下圖所示,首先是一個(gè)字符型數(shù)據(jù),緊接著的是兩個(gè)整形數(shù)據(jù),最終面是三個(gè)結(jié)構(gòu)體A型數(shù)據(jù)。我們需要做的就是把這些數(shù)據(jù)讀出來。

我們先聲明一個(gè)字符型的指針p,使其指向第一個(gè)數(shù)據(jù)的內(nèi)存地址。取完第一個(gè)字符型數(shù)據(jù)后,通過p++,然后強(qiáng)轉(zhuǎn)指針為整形指針,就可以很便利地取出整形數(shù)據(jù),同理可取出三個(gè)結(jié)構(gòu)體數(shù)據(jù)。

指針作為參數(shù)

先看一個(gè)例子,我們有兩個(gè)整形變量,x的值為777,y的值為888,現(xiàn)在想構(gòu)建一個(gè)函數(shù)用來交換兩個(gè)整形變量的值,使得x的值為888,y的值為777。首先我們以傳值的方式構(gòu)建

voidswap_value(intParam1,intParam2)

{

intTemp=Param1;

Param1=Param2;

Param2=Temp;

}

我們調(diào)用函數(shù)swap_value(x,y)后,發(fā)覺x、y的值并沒有被交換。造成這種結(jié)果的緣由是由于函數(shù)調(diào)用時(shí),首先對傳入的實(shí)參進(jìn)行變量的拷貝,交換的值是形參的值,并不是實(shí)參的值。而原來的實(shí)參加拷貝后的形參變量所處的內(nèi)存也不同,所以并沒有交換勝利。

要想實(shí)現(xiàn)函數(shù)內(nèi)部對這兩個(gè)值的交換,必需使得實(shí)參加拷貝后的形參變量所處的內(nèi)存是相同的。我們知道了原理后,修正函數(shù)參數(shù)列表,以指針的方式重新構(gòu)建函數(shù)如下:

voidswap_value(int*Param1,int*Param2)

{

intTemp=*Param1;

*Param1=*Param2;

*Param2=Temp;

}

這時(shí)候我們發(fā)覺x、y的值被交換了。通過上面的例子可以看出,使用指針作為參數(shù)可以修改原來的變量值,使得函數(shù)實(shí)現(xiàn)的機(jī)能更加模塊化,便利了程序的設(shè)計(jì)。

野指針

前面我們已經(jīng)爭論過指針變量同內(nèi)存的關(guān)系,了解了指針變量里面存放的是某個(gè)變量的內(nèi)存地址,該地址可以在程序的某個(gè)位置使用,以便利我們更改或取得該變量的值。指針使得我們擁有了操控內(nèi)存的利器,但同時(shí)指針也是一把雙刃劍。我們必需時(shí)刻確保指針變量的值是我們意圖操控的內(nèi)存地址。假如指針變量的值被不受控的更改或者初始化不正確,那么我們就使用了錯(cuò)誤的地址,從而導(dǎo)致程序錯(cuò)誤,通常我們稱這個(gè)導(dǎo)致程序錯(cuò)誤的指針變量為野指針。由于使用了野指針而產(chǎn)生的程序錯(cuò)誤大多時(shí)候是隱藏的,難于跟蹤的。野指針的產(chǎn)生主要是由于以下幾種狀況。

(1)聲明白指針變量,但是沒有正確的初始化就使用了該指針變量。

(2)使用指針變量之前沒有對其進(jìn)行平安檢查。

(3)指針指向的內(nèi)存變?yōu)榱藷o效值,但沒有準(zhǔn)時(shí)對指針清零,導(dǎo)致程序某處引用了該指針。

(4)多個(gè)指針同時(shí)指向同一內(nèi)存區(qū)域,程序某處通過某個(gè)指針釋放了該內(nèi)存,但是沒有準(zhǔn)時(shí)對其他的指針清零,導(dǎo)致程序某處進(jìn)行了錯(cuò)誤的引用。

(5)多線程時(shí),對全局的指針變量沒有進(jìn)行鎖處理。

多級指針

定義一級指針我們使用一個(gè)‘*’,在定義多級指針時(shí),是幾級指針我們就使用幾個(gè)‘*’。例如,聲明一個(gè)整型的二級指針(int**ppVar;)。下面以這個(gè)二級指針為例說明一下二級指針的意義。

二級指針變量同樣是保存了一個(gè)地址,這個(gè)地址就是某個(gè)一級指針變量的地址,而一級指針變量里面保存了最終需要操作的變量的地址,如下所示。

0x43236400x4323668

二級指針變量的值為0x4323640,就是一級指針變量pVar的地址,變量pVar的值為0x4323668,就是變量Var的地址。假如需要修轉(zhuǎn)變量Var的值,我們可以直接修正**ppVar的值就可以了。

三級指針或者更多級指針的原理與二級指針的原理是相同的,只是需要索引的內(nèi)存空間的深度增加了。在程序設(shè)計(jì)中,引入多級指針更多的時(shí)候并不僅僅是為了關(guān)注最終一級指針?biāo)苋〉玫淖兞?,而更多的是為了使用和操控其中間的級數(shù)的內(nèi)存值。比如利用二級指針作為函數(shù)的參數(shù)在某個(gè)函數(shù)內(nèi)部對其安排內(nèi)存,我們更想利用的是一級指針變量自身。當(dāng)然,在進(jìn)行程序設(shè)計(jì)時(shí),有時(shí)我們要在可讀性與語法有效性之間做出選擇,在實(shí)現(xiàn)代碼的過程中能用低級指針實(shí)現(xiàn)的盡量不要使用多級指針實(shí)現(xiàn),這樣的代碼更利于維護(hù)。

小結(jié)

在C語言中指針的使用特別的廣泛,有時(shí)指針是實(shí)現(xiàn)某個(gè)計(jì)算的唯一方法。同樣的機(jī)能使用指針通常也可以獲得更加高效、緊湊的代碼。指針使得函數(shù)構(gòu)建的機(jī)能更加的模塊化,使得函數(shù)參數(shù)棧更加的短小。同時(shí)在操縱字符串的運(yùn)算中,指針更加簡潔直觀。

在大項(xiàng)目構(gòu)建時(shí),把函數(shù)指針同數(shù)據(jù)封裝在一起能夠使得代碼編程面對對象的結(jié)構(gòu),使得后期代碼的維護(hù)成本大大降低,代碼的表現(xiàn)也更加具有現(xiàn)實(shí)意義。

關(guān)鍵詞C語言運(yùn)算指針

指針是C語言最強(qiáng)大的功能,也是C語言中最難以把握的功能。把握指針的應(yīng)用,可以使程序簡潔、高效。每一個(gè)學(xué)習(xí)和使用C語言的人,都應(yīng)當(dāng)深化的學(xué)習(xí)和把握指針。指針?biāo)阈g(shù)運(yùn)算是指針操作中比較難把握的部分。在本文中,我們將總結(jié)C語言的指針運(yùn)算。

指針可以執(zhí)行的算術(shù)運(yùn)算有:①指針自增;②指針自減;③指針加上一個(gè)整型常量或整型變量n;④指針減去一個(gè)整型常量或整型變量n;⑤兩個(gè)指針相減。

需要留意的是,通常只有當(dāng)指針指向某個(gè)數(shù)組元素時(shí),才對指針作上述5種算術(shù)運(yùn)算。

一、指針自增

指針自增就是指向本數(shù)組的下一個(gè)元素。

假設(shè)有數(shù)組定義如下:doublea={3.2,4.75,7.2,9,1.7};

double*p=a;

此時(shí)內(nèi)存圖示如下:

此時(shí)若執(zhí)行p++,指針p指向數(shù)組的下一個(gè)元素,圖示如下:

二、指針自減

指針自減就是指向本數(shù)組的上一個(gè)元素。

例如有數(shù)組定義如下:doublea={3.2,4.75,7.2,9,1.7};

double*p=

內(nèi)存圖示如下:

此時(shí)若執(zhí)行p--,指針p指向數(shù)組的上一個(gè)元素,圖示如下:

三、指針加上一個(gè)整型常量或整型變量n

指針加上一個(gè)整型常量或整型變量n的結(jié)果是得到一個(gè)指向本指針?biāo)赶虻臄?shù)組元素之后第n個(gè)元素的指針。例如數(shù)組定義如下:

doublea={3.2,4.75,7.2,9,1.7};

double*p=a;

此時(shí)指針p指向數(shù)組a的第一個(gè)元素。

若執(zhí)行p=p+3,指針p指向數(shù)組元素a

四、指針減去一個(gè)整型常量或整型變量n

指針減去一個(gè)整型常量或整型變量n的結(jié)果是得到一個(gè)指向本指針?biāo)赶虻臄?shù)組元素之前第n個(gè)元素的指針。

若有定義doublea={3.2,4.75,7.2,9,1.7};

double*p=

指針p指向數(shù)組元素a。

假如執(zhí)行p=p-3之后,指針p指向數(shù)組元素a

五、兩個(gè)指針相減

首先必需明確,通常只有當(dāng)兩個(gè)指針指向同一個(gè)數(shù)組時(shí)才對兩個(gè)指針相減。

兩個(gè)指針相減得到的整數(shù)是這兩個(gè)指針?biāo)赶虻脑厮饕抵睢?/p>

例如有如下代碼:

inta={10,20,30,40,50};

int*p1=a;

int*p2=

intx=p2-p1;

由于p1和p2位置如下:

所以表達(dá)式p2-p1的值是3

結(jié)語:指針?biāo)阈g(shù)運(yùn)算是初學(xué)者感到比較困惑的問題,盼望本文能對他們有所關(guān)心。

簡介:

c語言指針范文第3篇C語言指針反匯編間接尋址寄存器棧

1引言

C語言誕生于20世紀(jì)70年月的美國貝爾試驗(yàn)室,它是面對過程的,可移植的,功能強(qiáng)大的高級程序設(shè)計(jì)語言。盡管現(xiàn)如今有很多功能更強(qiáng)大的面對對象的高級程序設(shè)計(jì)語言(如C++,Java,C#等),C語言仍舊具有旺盛的生命力,其仍是計(jì)算機(jī)領(lǐng)域的通用程序設(shè)計(jì)語言,特殊是在底層的硬件驅(qū)動領(lǐng)域。這一切都要?dú)w功于指針,指針是C語言最重要的特性之一,利用它可以直接操作硬件,這是它的優(yōu)點(diǎn),也是它的缺點(diǎn),由于直接操作硬件稍有不慎,就會導(dǎo)致特別嚴(yán)峻的后果。

2C語言指針簡介

現(xiàn)代計(jì)算機(jī)中大部分都是按字節(jié)劃分內(nèi)存的,每個(gè)字節(jié)都有唯一的地址,C語言中的全部指針操作都是基于這些地址的。在C程序中一個(gè)變量會占用一個(gè)或多個(gè)字節(jié),第一個(gè)字節(jié)的地址就是該變量的地址,將該地址賦值給某個(gè)變量后,就稱其為指針。指針在C程序開發(fā)過程中發(fā)揮著舉足輕重的作用,其基本應(yīng)用有如下三點(diǎn):

2.1指向基本數(shù)據(jù)類型

假設(shè)我們定義inti=10,則我們就占用了4個(gè)字節(jié)的內(nèi)存(假設(shè)是在32位架構(gòu)下),這4個(gè)字節(jié)就和變量名i建立了某種特別聯(lián)系,就可以通過該變量i對這4個(gè)字節(jié)進(jìn)行讀寫操作?;蛘呖梢酝ㄟ^指針方式操控這4個(gè)字節(jié)。定義int*p=數(shù)組;教學(xué);指針

中圖分類號:G718.5文獻(xiàn)標(biāo)志碼:A文章編號:1674-9324(2024)45-0228-02

在C語言的教學(xué)中,“指針”這一部分內(nèi)容始終是C語言的教學(xué)重點(diǎn)和難點(diǎn),直接影響同學(xué)對后續(xù)課程的學(xué)習(xí)和把握。作為軟件開發(fā)入門課程,絕大多數(shù)時(shí)間是在講條件、循環(huán)、數(shù)組、函數(shù),而指針內(nèi)容卻是省、國家計(jì)算機(jī)二級、程序員等考試的必考內(nèi)容。為了在最短的時(shí)間內(nèi)達(dá)到較好的教學(xué)效果。筆者從多年的教學(xué)閱歷認(rèn)為C語言的指針教學(xué)應(yīng)當(dāng)留意以下幾點(diǎn):

一、輸入函數(shù)scanf()和數(shù)組中地址的應(yīng)用

全部的書本上都有介紹scanf(格式掌握字符串,輸入項(xiàng)列表),此函數(shù)的輸入項(xiàng)列表要用“”加變量名,要將所輸入的內(nèi)容放入變量的地址中,其中格式掌握串中假如有一般字符也要輸入一般字符,且有許多輸入后不能正確讀取的狀況,初學(xué)者往往感到特別困惑難以理解。其實(shí),連續(xù)定義的多個(gè)變量在內(nèi)存中也是占用連續(xù)的內(nèi)存單元,只是不同的數(shù)據(jù)類型所占的字節(jié)不同,程序在運(yùn)行過程中遇到第一個(gè)scanf()函數(shù)時(shí),將要求用戶從鍵盤上按要求輸入內(nèi)容,全部輸入的內(nèi)容都將先放入緩沖區(qū)且你可以輸入許多內(nèi)容,輸入完成后再按scanf的格式掌握字符串的格式來存入到變量的地址中,一旦輸入不合法,則認(rèn)為輸入結(jié)束,后面的變量將取不到值。如:scanf(“%d:%d”,a,b);若輸入時(shí)你輸入3,4L其中a的值為3,輸入格式串中原來要求你輸入的是“:”而你輸入的是“,”,明顯不合法,則scanf函數(shù)輸入結(jié)束,后面的變量b將取不到值。同時(shí)這也很好解釋了若程序中有多個(gè)scanf函數(shù)時(shí),為了保證每次輸入都有效,則應(yīng)當(dāng)在輸入函數(shù)前加一個(gè)清空緩存函數(shù)fflush(stdin)。

數(shù)組名代表的是數(shù)組的首地址,所以在scanf()函數(shù)中以”%s”為格式串所對應(yīng)輸入項(xiàng)列表不需要加“”。如:charstr;

scanf(“%s”,str);/*將輸入的內(nèi)容存儲到從數(shù)組首地址開頭的地址中*/

printf(“%s”,str);/*從數(shù)組的首地址開頭輸出字符數(shù)組的內(nèi)容*/。

這些內(nèi)容都與計(jì)算機(jī)的實(shí)際存儲有關(guān)(即和地址有關(guān))。

二、指針

指針就是地址。其實(shí)前面我們在講解輸入輸出函數(shù)和數(shù)組時(shí),我們就介紹了一些有關(guān)地址的應(yīng)用。一聽自己已經(jīng)用過且有所接觸了,同學(xué)也就不會感到太畏懼了。再加上時(shí)間有限,我們要言簡意賅地說明指針的用法。

1.指針的概念。指針就是內(nèi)存地址。這里首先要區(qū)分三個(gè)比較接近的概念:名稱、地址和內(nèi)容(值)。名稱是給內(nèi)存空間取的一個(gè)簡單記憶的名字;內(nèi)存中每個(gè)字節(jié)都有一個(gè)編號,就是“地址”;在地址所對應(yīng)的內(nèi)存單元中存放的數(shù)值即為內(nèi)容或值。

為了關(guān)心讀者理解三者之間的聯(lián)系與區(qū)分,我們不妨打個(gè)比方,有一座老師辦公樓,各房間都有一個(gè)編號,如101,102,…,201,202,…。一旦各房間被安排給相應(yīng)的職能部門后,各房間就掛起了部門名稱:如電子系、計(jì)算機(jī)系、環(huán)境工程系等,假如電子系被安排在101房間,我們要找到電子系的老師(內(nèi)容),可以去找電子系(按名稱找),也可以去找101房間(按地址找)。類似地,對一個(gè)存儲空間的訪問既可以指出它的名稱,也可以指出它的地址。

在C語言中,假如變量p中的內(nèi)容是另一個(gè)變量i的地址,則稱變量p指向變量i,或稱p是指向變量i的指針變量,形象地用圖1所示的箭頭表示。

由此可以得出結(jié)論:變量的指針即為變量的地址,而存放其他變量地址的變量是指針變量。

指針變量是一種變量,因而也具有變量的三個(gè)要素,但它是一種特別的變量,其特別性表現(xiàn)在它的類型取值上。詳細(xì)而言:①變量名:與一般的變量命名規(guī)章相同。②變量的值:是某個(gè)變量的內(nèi)存地址。③變量的類型:主要是其指向的變量的類型。

2.指針指向簡潔變量。

如:inta=100,*p;/*指針變量的定義*/

p=a;/*指針變量的賦值*/

*p=200;/*指針變量的應(yīng)用*/

printf(“%d”,a);則輸出值為200。

在此我們要理解指針一旦定義且指向了一簡潔變量,除定義和初始化時(shí)的*p,其他的*p等價(jià)于它所指向的簡潔變量(即這里的*p=a),p(指針)等價(jià)于簡潔變量的地址(即這里的p=a)。上面的輸出語句可以變?yōu)椋簆rintf(“%d”,*p)。

3.指針指向數(shù)組。

(1)指針指向一維數(shù)組。

如:inta={10,20,30,40,50},*p=a;

p++;

printf(“%d,%d,%d”,*p,*(p+2),*p++);則輸出結(jié)果為:30,50,20

以上是指針指向一維數(shù)組的基本應(yīng)用,首先我們要理解有關(guān)指針的運(yùn)算。

:取地址運(yùn)算符。

*:指針運(yùn)算符(間址訪問運(yùn)算符),取指針?biāo)赶虻闹?,若所指向二維數(shù)組則表示離取值進(jìn)了一步。

++:算術(shù)運(yùn)算符,表示指針往下或右移一個(gè)單位(其中這個(gè)單位和詳細(xì)的數(shù)據(jù)類型有關(guān),假如是整型數(shù)一個(gè)單位就指2個(gè)字節(jié),實(shí)型指4個(gè)字節(jié))。

--:算術(shù)運(yùn)算符,表示指針往上或左移一個(gè)單位。

若定義了一個(gè)指針指向了一個(gè)一維數(shù)組,則p=a的使用(原來的a,也可以用p表示,*p=*a),即*(p+i)=a=

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論