九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

指針4指針數(shù)組多級指針動態(tài)指針

上傳人:san****019 文檔編號:22441942 上傳時間:2021-05-26 格式:PPT 頁數(shù):23 大小:449.50KB
收藏 版權申訴 舉報 下載
指針4指針數(shù)組多級指針動態(tài)指針_第1頁
第1頁 / 共23頁
指針4指針數(shù)組多級指針動態(tài)指針_第2頁
第2頁 / 共23頁
指針4指針數(shù)組多級指針動態(tài)指針_第3頁
第3頁 / 共23頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《指針4指針數(shù)組多級指針動態(tài)指針》由會員分享,可在線閱讀,更多相關《指針4指針數(shù)組多級指針動態(tài)指針(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、1 數(shù)組指針以此類推v 一 維 數(shù) 組 名 是 “ 列 指 針 類 型 ” -“元 素 指 針 類 型 ”指 針 變 量 的 定 義:int *p;v 二 維 數(shù) 組 名 是 “ 行 指 針 類 型 ”指 針 變 量 的 定 義:int (*p)4 ;v 三 維 數(shù) 組 名 是 “ 頁 指 針 類 型 ”指 針 變 量 的 定 義:int (*p)34 ; v 四 維 數(shù) 組 名 是 “ 塊 指 針 類 型 ”指 針 變 量 的 定 義:int (*p)345 ;圓括號是必須的 2 問題的提出v 變 量 是 用 于 存 放 單 個 數(shù) 據(jù) 的v 數(shù) 組 是 用 于 存 放 “ 同 類 型 ”

2、的 多 個 數(shù) 據(jù) 的方 便 循 環(huán) 控 制 結 構 的 編 程v 指 針 變 量 是 用 于 存 放 單 個 地 址 號 的v “ 同 類 型 ” 的 多 個 地 址 號 是 否 能 夠 集 中 存 儲在 一 起 構 成 “ 指 針 數(shù) 組 ” 呢 ? 3 v 元 素 均 為 指 針 類 型 數(shù) 據(jù) 的 數(shù) 組 , 稱 為 指 針 數(shù) 組 v 定 義 形 式 為 : 類 型 關 鍵 字 *數(shù) 組 名 數(shù) 組 長 度 ;v 例 如 char *pStr5; 四、指針數(shù)組注意沒有 圓括號 4 例: 二維字符數(shù)組void main() int i; char str10 = Pascal,Basi

3、c,Fortran, Java,Visual C; for (i=0; i5; i+) printf(%sn, stri); strPascalBasicFortranJava二維數(shù)組Visual C 5 例:字符指針數(shù)組void main() int i; char *ptr = Pascal,Basic,Fortran, Java,Visual C; for (i=0; i5; i+) printf(%sn, ptri); PascalBasicFortranJavaptr指針數(shù)組字符串ptrVisual C 6 例:字符串按字典順序排序二維數(shù)組編程char strN10 = Pascal

4、,Basic,Fortran, Java,Visual C; for (i=0; iN-1; i+) for (j = i+1; jN; j+) if (strcmp(strj, stri) 0) strcpy(temp,stri); strcpy(stri,strj); strcpy(strj,temp); name0 P a s c a l 0 0 0 0 name1 B a s i c 0 0 0 0 0 name2 F o r t r a n 0 0 0 name3 J a v a 0 0 0 0 0 0 name4 V i s u a l C 0 0 name0 B a s i c

5、0 0 0 0 0 name1 F o r t r a n 0 0 0 name2 J a v a 0 0 0 0 0 0 name3 P a s c a l 0 0 0 0 name4 V i s u a l C 0 0 7 例:字符串按字典順序排序指針數(shù)組編程char *ptrN = Pascal,Basic,Fortran, Java,Visual C;for (i=0; iN-1; i+) for (j = i+1; jN; j+) if (strcmp(ptrj, ptri) 1)printf(The other arguments are following:n);for (i =

6、 1; iargc; i+) printf(%sn, argvi); getch();echo.exehelloworldptr指針數(shù)組字符串name 10 指針型函數(shù) 一 個 函 數(shù) 可 以 返 回 一 個 int型 、 float型 、 char型的 數(shù) 據(jù) , 也 可 以 返 回 一 個 指 針 類 型 的 數(shù) 據(jù) , 即 地址 。 返 回 指 針 值 的 函 數(shù) ( 簡 稱 指 針 函 數(shù) ) 的 定 義 格 式 如下 : 函 數(shù) 類 型 *函 數(shù) 名 (參 數(shù) 表 ) 例 int *f(int x, int y) 11 例 求一維數(shù)組的最大值及其下標v int *findMax(in

7、t x)v v int i,j;v j=0;v for(i=1;ixj)v j=i;v return(v v void main() v v int a5=3,6,1,9,12,*max;v max=findMax(a);v printf(max%d=%d,max-a,*max);v 12 五、 多級指針和動態(tài)指針1.概念及定義v定義: 指向指針的指針v一級指針:指針變量中存放目標變量的地址p1 int *p2; int i=3; p2= p1= *p1=5;二級指針:指針變量中存放一級指針變量的地址例 int *p; int i=3; p= *p=5; (2) 賦值 p=pp=(3)引用方法

8、pp的值 *pp的值*pp的值多級指針定義形式 14 動 態(tài) 分 配 內 存 15 2.動 態(tài) 指 針v 為 什 么 要 動 態(tài) 分 配 內 存 ? 當 事 先 不 知 道 所 需 要 處 理 的 數(shù) 據(jù) 有 多 大 時 , 使用 靜 態(tài) 數(shù) 組 , 若 數(shù) 組 開 辟 得 太 大 , 則 浪 費 內 存 資源 ( 甚 至 可 能 不 成 功 ) ; 若 開 辟 得 太 小 , 又 不 能滿 足 計 算 需 要 。 采 用 動 態(tài) 分 配 內 存 的 方 法 , 使 用完 畢 , 再 釋 放 內 存 , 以 備 其 它 程 序 使 用 。 C語 言 中 提 供 了 幾 個 標 準 函 數(shù) ,

9、以 實 現(xiàn) 內 存 的分 配 和 釋 放 。 16 動態(tài)分配內存v#include v#include vvoid* malloc(unsigned int size);向系統(tǒng)申請大小為size的內存塊,把首地址返回。如果申請不成功,返回NULLvvoid* calloc(unsigned int num, unsigned int size);向系統(tǒng)申請num個size大小的內存塊,把首地址返回。如果申請不成功,返回NULL vvoid free(void* p);釋放由malloc()和calloc()申請的內存塊。p是指向此塊的指針vvoid*類型的指針可以指向任意類型的變量 17 動態(tài)

10、數(shù)組v一維動態(tài)數(shù)組 int *p = NULL;printf(Please enter array size:);scanf(%d, p = (int *) malloc(n * sizeof (int); pi /像使用一維數(shù)組一樣使用v二維動態(tài)數(shù)組printf(Please enter array size m,n:);scanf(%d,%d, p = (int *) calloc(m * n, sizeof (int);pi*n+j); /像使用一維數(shù)組一樣使用 18 函數(shù)指針(選學)1.函數(shù)指針的概念 一個函數(shù)在編譯時,被分配了一個入口地址,這個地址就稱為該函數(shù)的指針??梢杂靡粋€指針變

11、量指向一個函數(shù),然后通過該指針變量調用此函數(shù) 19 2.指向函數(shù)的指針變量(1)定義格式 函數(shù)類型 (*指針變量)( ); 注意:“*指針變量”外的括號不能缺,否則成了返回指針值的函數(shù)。 例如,int (*fp)( ); /* fp為指向int函數(shù)的指針變量*/(2)賦值 函數(shù)名代表該函數(shù)的入口地址。因此,可用函數(shù)名給指向函數(shù)的指針變量賦值。 指向函數(shù)的指針變量 注意:函數(shù)名后不能帶括號和參數(shù);函數(shù)名前的“for ( i=0;iy;int xiaoyu(int x,int y) return xy;/*條件:大于給定值,并能被2整除的*/ int main() int a9=1,2,3,4,5,6,7,8,9;int x;int (*fun)(int,int);fun=xiaoyu;x=Locate(a,9,6,fun);printf(Locate:%dn,x);return 1; 23 v指針的概念指針是一種特殊的數(shù)據(jù)類型v指針的使用原則永遠要清楚指針變量存放的是什么,指向了什么 v指針與數(shù)組之間的關系理解一維數(shù)組與指針是理解二維數(shù)組與指針的基礎掌握二維數(shù)組在內存中的存放方式,是理解二維數(shù)組的行指針和列指針的關鍵v指針數(shù)組v指針函數(shù) v指針的應用做函數(shù)參數(shù),傳地址調用動態(tài)分配內存,實現(xiàn)動態(tài)數(shù)組,對于動態(tài)分配的內存,不要忘記在不使用時釋放請自己總結這章所學內容

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!