




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
指【【本章要點(diǎn)C語言的一個(gè)重要概念,也是C語言的一個(gè)重要特色。正確靈活的以說,不掌握指針就沒有掌握C語言的精華地址:內(nèi)存單元的編號(hào)也叫做地址各種類型變量都有地址,通過地址(指針)或變量名變量變量:命名的內(nèi)存空間,用于存放各種類型的數(shù)據(jù)變量名:變量名是給內(nèi)存空間取的一個(gè)容易的名字。指針:就是內(nèi)存單元的地址。指針指向一個(gè)內(nèi)存單元指針變量就是存放地址的變量。但有時(shí)為了闡述方便所說指針都是指針定義的一般格式<類型><數(shù)據(jù)類型><*指針變量名>[=初始地址值)(1)extern(2)intchar、float例如: 指針變量前面的*表示其后為指針變量。指針變量的名字是p1、p2。而指針變量存放地址值,在內(nèi)存中占用的空間是4指針變量一定要周賦值后才可以使用。使用未初始化或未賦值的指(否則可能導(dǎo)致系統(tǒng)的)指針運(yùn)算符&例如:&a為取變量a*:例如:*p為指針變量p所指向的變量指針變量的賦值方法例如:float*f=(float注malloc()函數(shù)申請(qǐng)動(dòng)態(tài)分配內(nèi)存空間,返回空間首地址;使用這2個(gè)函數(shù)時(shí)需要頭文件<stdlib.h>或<alloc.h>inti,*p;取地址運(yùn)算符例如:&a為取變量a取內(nèi)容運(yùn)算符賦值運(yùn)有以下幾種形式float*f=(float*)malloc(4);inti,*p=&i;int /*把整型變量a的地址賦予整型指針變量intpb /*把a(bǔ)的地址賦予指針變量例如:inta[5],*p;或?qū)憺?或:int例如:char*pc;pc="或?qū)憺閏har*pc="int /*f為函數(shù)名指針加減任意整數(shù)運(yùn)減去一個(gè)整數(shù)n。對(duì)指向其它類型變量的指針變量作加減運(yùn)算是毫無意義的。運(yùn)算形式:設(shè)有數(shù)組指針變量p,則有p+np-np+p,p 運(yùn)算都是合法的運(yùn)算作用:±n就是把指針指向的當(dāng)前位置向前(減)或向后(加)移動(dòng)n個(gè)元素位置。例如int /*p指向數(shù)組a,也是指向 /*p指向a[2],即p的值為兩指針變量相運(yùn)算形式:p、q,則有:p-運(yùn)算作用:相減所得之差是兩個(gè)指針?biāo)笖?shù)組元間相差的元素個(gè)數(shù)pf1=2010Hpf2=2000H則得:pf1-pf2=(2000H-2010H)/4=4指針的關(guān)系運(yùn)運(yùn)算條件:必須是指向同一數(shù)組的2個(gè)指針變量才能進(jìn)行關(guān)系運(yùn)算例如:設(shè)如果paqa都指向同一個(gè)數(shù)組則有:pa>qa、pa<qapa>=qapa<=qapa==qa說明:當(dāng)pa所指元素在qa之前,則表達(dá)式“pa<qa”為真(值為當(dāng)pa和qa都指向同一個(gè)元素時(shí),表達(dá)式“pa==qa”為真(值為1少?pp9.5*++ppp9.9+*pp20pa[2],然后進(jìn)行*p30++*pp21,pa[1]數(shù)組 代表數(shù)組的首地址,是一個(gè)常量數(shù)組的指針:就是指向數(shù)組元素地址的指針變量數(shù)組元素除了用下標(biāo)法外也可以用指針法來數(shù)組元素。例如:intint*p;如圖9.6下面的語句是等價(jià)的p=&a[0];例如int int*p;有以下四種方法數(shù)組元素*(p+k)、*(a+k)、p[k]、前兩種稱為指針法,后兩種稱為下標(biāo)注意指針變量的運(yùn)算設(shè)指針p=a(a為數(shù)組名p++,pa[1]。*pa[1]②*p++,相當(dāng)于*p,p++③*(p++)與*(++p)④(*p)++,p⑤如果pai*(pa[ip“*”運(yùn)算,再使p*(++p)a[++i],p**(--p)a[--i],先使p* 設(shè)有一個(gè)二維數(shù)組aint二維數(shù)組a,可視為三個(gè)一維數(shù)組:a[0]、a[1]、a[2];而每個(gè)一維數(shù)組又用數(shù)組名表示二維數(shù)組的行地則有:a為二維整型數(shù)組名,a=2000 就是第行的首地 。即為 代表第一行首地址。 。即為 代表第二行首地址。 。即為用數(shù)組名表示二維數(shù)組元素地a[0]、a[1]、a[2]a[2]+3等介于*(a+1)+3,即&a[1][3]a[0][1]的值可表示為:*(a[0]+1)和a[i][j]的值可表示應(yīng)為:*(a[i]+j)和*(*(a+i)+j)數(shù)組元素三種形式⑴ ⑶ 指向數(shù)組元素的指針變二維數(shù)組的每個(gè)元素在內(nèi)存 在地址連續(xù) 空間中如圖9.7和所示。用指向數(shù)組元素的指針變量來數(shù)組p=a[0]可改為p=&a[0][0],但不能為指向由m個(gè)整數(shù)組成的一維數(shù)組的指針變m(*例如:intq,它指向包含有4注意:*q必須放在括弧內(nèi),否則就變成了定義指針數(shù)組設(shè)有如下定義inta[3][4]=int(*q)[4];則:q+0為二維數(shù)組第0a+0或*(a+0)相同;q+1為二維數(shù)組第1a+1或*(a+1)相同;q+2為二維數(shù)組第2a+2或*(a+2)*(q+i)+j為第ij*(a+i)+j*(*(q+i)+j)ij*(*(a+i)+j)a[i][j]用指向有mvoid{inta[3][4]=int(*q)[4]; /*p4個(gè)元素的一維數(shù)組*/}函數(shù)的參數(shù)傳遞可以采用地址傳遞。所以指針可作為函數(shù)參數(shù)注:C系統(tǒng)將形參數(shù)組名作為數(shù)組的指針變量來處理。☆形參、實(shí)參都是數(shù)組名☆實(shí)參是數(shù)組名,形參是指針變☆形參、實(shí)參都是指針變量☆實(shí)參是指針變量,形參是數(shù)組字符串的表示形在C語言中,可以用兩種方法實(shí)現(xiàn)對(duì)字符串的操用字符數(shù)組處理字符charstr[]=“Ilove字符數(shù)組名可作函數(shù)參數(shù),字符指針變量也可作函數(shù)參數(shù)不能用賦值語句給字符數(shù)組charstr=“Ilove!” char*p;p=“ 這是正確的但要注意賦給指針變量p定義一個(gè)數(shù)組,在編譯時(shí)分配存放n個(gè)元素的空間;(6)printfchar*format=“a=%d,b=%f\n”;printf(format,a,b)9.3.3即:指針數(shù)組中每一個(gè)元素(下標(biāo)變量)都是指針變量指針數(shù)組的定義形式<類型><數(shù)據(jù)類型><*指針數(shù)組名>[數(shù)組長度][={地址列表}];Staicint由于[]比*p[4]4個(gè)元素:p[0],p[1]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年電腦繡花樸行業(yè)深度研究報(bào)告
- 2025至2030年玻璃臺(tái)托架項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年棉花分級(jí)室照明裝置項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年整體硬質(zhì)合金二刃銑刀項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年太空拖鞋項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年外牙鍍鉻皮管接頭項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年合金結(jié)構(gòu)鋼鋼錠項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年仿真荷花項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國紅棗行業(yè)發(fā)展模式分析及市場(chǎng)分析預(yù)測(cè)報(bào)告
- 2025至2030年中國工業(yè)用銅鑄件行業(yè)發(fā)展預(yù)測(cè)及投資策略報(bào)告
- 北京市消防條例解讀
- 外研版(2025新版)七年級(jí)下冊(cè)英語Unit 4 學(xué)情調(diào)研測(cè)試卷(含答案)
- DL∕T 1751-2017 燃?xì)?蒸汽聯(lián)合循環(huán)機(jī)組余熱鍋爐運(yùn)行規(guī)程
- 醫(yī)院檢驗(yàn)科實(shí)驗(yàn)室生物安全程序文件SOP
- JTG D70-2-2014 公路隧道設(shè)計(jì)規(guī)范 第二冊(cè) 交通工程與附屬設(shè)施
- 呼吸內(nèi)科利用品管圈PDCA循環(huán)提高患者對(duì)無創(chuàng)呼吸機(jī)的有效使用率
- 出境領(lǐng)隊(duì)服務(wù)程序與規(guī)范(共36頁).ppt
- 典雅中國風(fēng)工筆畫PPT模板
- 國家開放大學(xué)《理工英語3》章節(jié)測(cè)試參考答案
- 幼兒園安全問題的研究
- 事業(yè)單位工作人員調(diào)動(dòng)審批表
評(píng)論
0/150
提交評(píng)論