c語言程序設(shè)計(jì)--cha

c語言程序設(shè)計(jì)--cha

ID:36324531

大小:1.37 MB

頁數(shù):85頁

時間:2019-05-09

c語言程序設(shè)計(jì)--cha_第1頁
c語言程序設(shè)計(jì)--cha_第2頁
c語言程序設(shè)計(jì)--cha_第3頁
c語言程序設(shè)計(jì)--cha_第4頁
c語言程序設(shè)計(jì)--cha_第5頁
資源描述:

《c語言程序設(shè)計(jì)--cha》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、設(shè)一個函數(shù)process,在調(diào)用它的時候,每次實(shí)現(xiàn)不同的功能。輸入a和b兩個數(shù),第一次調(diào)用的時找出其中的大者,第二次調(diào)用的時找出其中的小者。第三次調(diào)用求兩者之和。第六章指針指針是C語言的一個重要概念,也是C語言的一個重要特色。深刻理解和正確使用指針是學(xué)習(xí)本章的基本要求。C程序設(shè)計(jì)中使用指針可以:使程序簡潔、緊湊、高效有效地表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu)動態(tài)分配內(nèi)存得到多個函數(shù)返回值數(shù)據(jù)存儲區(qū)6.1指針概述6.1.1地址與指針(一)地址與取地址運(yùn)算地址34.58.64121120abcdef101010121014101810221023inta=3,b=4;floatc=4.5,d=8.

2、6;chare='x',f='y';編譯或函數(shù)調(diào)用時為其分配內(nèi)存單元內(nèi)存中每個字節(jié)有一個編號----地址數(shù)據(jù)占有的字節(jié)數(shù)由它的類型決定變量是對程序中數(shù)據(jù)存儲空間的抽象取地址運(yùn)算對普通變量:通過取地址運(yùn)算符“&”得到該變量的地址。對數(shù)組變量:數(shù)組名即為該數(shù)組的首地址。(二)指針與指針變量直接訪問通過變量本身對變量進(jìn)行存取的方式,稱為直接訪問。如定義:inti;i=3;這種訪問方式只需要變量本身就得到了該變量的全部信息,不需要其它內(nèi)容,是直接的。數(shù)據(jù)存儲區(qū)34.58.64121120abcdef101010121014101810221023間接訪問200020022004200

3、620082010papbpcpdpepf101010121014101810221023指針變量通過指針實(shí)現(xiàn)對變量的訪問方式,稱為間接訪問。間接對變量的訪問方式:首先要定義一個指針變量;然后將一個同類型變量的地址賦給該指針變量(這時我們稱指針變量指向該變量);int*i_point,i=3;i_point=&i;i=3i_point變量的指針變量的地址存放變量地址的變量指針變量指針變量是一個特殊的變量,只能存放變量的地址而不能用來存放其它類型的數(shù)據(jù)。指針指向的變量稱為目標(biāo)變量。6.1.2指針的類型與指針的定義指針是有類型的,它的類型就是它所指向的實(shí)體的類型。定義一個指針變量

4、格式:[存儲類型]類型標(biāo)識符*指針變量名;例:int*a,*b;char*c,*ch;float*p1,*p2,*p;指針變量定義后,值不確定。注意:*p與p的區(qū)別,p才是指針變量;指針變量只能指向定義時所規(guī)定類型的變量;指針變量定義后,值不確定,應(yīng)用前必須先賦值;指針變量的賦值和初始化賦值語句:inti=3,*p;p不定i3p=&i;i的地址3int*p;floata;p=&a;int*p=&i;inti;inti;int*p=&i;int*q=p;inti;staticint*p=&i;inti=3,*p=&i;初始化:一般形式:[存儲類型]數(shù)據(jù)類型*指針名=初始地址值;

5、20002010i的地址指針變量的地址i_pointi=106.1.3指針變量的引用有關(guān)指針的運(yùn)算符取變量地址運(yùn)算符。&a表示變量a的地址。指針運(yùn)算符(取指針?biāo)赶蜃兞康膬?nèi)容)。*p表示p所指向的變量。&*兩者關(guān)系:互為逆運(yùn)算inti=10,*i_point;i_point=2000i_point---指針變量,它的內(nèi)容是地址量*i_point---指針的目標(biāo)變量,它的內(nèi)容是變量值&i_point---指針變量占用的內(nèi)存地址i_point=&i;i*i_point&ii_pointi=10*i_point=10例main(){inti=10;int*p;*p=i;printf

6、("%d",*p);}指針變量必須先賦值,再使用main(){inti=10,k;int*p=&k;*p=i;printf("%d",*p);}危險!指針變量可進(jìn)行的操作inta,b,*p1,*p2,*p3;輸出:printf("%x,%x",p1,p2);printf("%d,%d",*p1,*p2);增減:p++;p--;p+=4;(只能和整數(shù)運(yùn)算)*p++;*p--;兩指針加減:p1-p2;p1+p2;兩指針比較:if(p1>p2)…if(p1

7、一個變量inta,*p1,*p2;p1=&a;printf("%X",p1);p2=p1;*p2=3;printf("%d",*p1);printf("%d",a);ap1p2101020002002...p1=1010p2=1010a=3例6.2:使兩個指針變量交換指向main(){int*p1,*p2,*p,i1=10,i2=20;p1=&i1;p2=&i2;printf("%d,%d",*p1,*p2);p=p1;p1=p2;p2=p;printf("%d,%d",*p1,*p2);}i2=20p

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

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

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