c语言sort函数_C语言的那些经典程序 第八期
C語(yǔ)言的那些經(jīng)典程序 第八期
上期帶大家欣賞的指針經(jīng)典程序,感覺(jué)如何?這期我們準(zhǔn)備了幾個(gè)新指針的內(nèi)容,靈活運(yùn)用指針可以大大減少程序的復(fù)雜度,接下來(lái)就讓小C來(lái)說(shuō)說(shuō)這三個(gè)有關(guān)指針應(yīng)用的經(jīng)典程序吧!
1指向函數(shù)的指針源程序:
運(yùn)行結(jié)果:
程序分析:
(1) main函數(shù)中,"int (*p)( int,int );"語(yǔ)句定義了一個(gè)指向函數(shù)的指針變量p, p所指向的函數(shù)必須是int類型。這條語(yǔ)句中的"( int,int ;)";用來(lái)說(shuō)明p所指函數(shù)的參數(shù)個(gè)數(shù)和參數(shù)類型,這些信息應(yīng)與p所指函數(shù)的參數(shù)的信息一一對(duì)應(yīng),?;如果所指函數(shù)沒(méi)有形參,這對(duì)圓括號(hào)不可省略。注意,如果將這條語(yǔ)句寫(xiě)成"int *p( int,int);",則說(shuō)明p不是指針變量,而是說(shuō)明p是一個(gè)函數(shù)名,該函數(shù)的返回值的類型是基類型為int的指針類型。
(2) main函數(shù)中,"p= max;"語(yǔ)句把max函數(shù)的起始地址賦給指針變量p.因?yàn)槭菍⒑瘮?shù)的起始地址賦給p,不涉及實(shí)參與形參的結(jié)合問(wèn)題,所以不能寫(xiě)成"p= max(a,b);"。
(3) main函數(shù)中,"c =(*p)(a,b);"語(yǔ)句實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用。用指向函數(shù)的指針變量調(diào)用函數(shù)時(shí),只需用(*p)代替函數(shù)名即可,在(*p)之后的括號(hào)中根據(jù)需要寫(xiě)上實(shí)參。其含義為:調(diào)用由p指向的函數(shù),實(shí)參為";a,b";,得到的函數(shù)值賦給C。這條語(yǔ)句相當(dāng)于";c=?;max(a,b);";。
2指針數(shù)組源程序:
運(yùn)行結(jié)果:
程序分析:
程序中二維數(shù)組a可以看成3個(gè)維數(shù)組,p_data 是一個(gè)有3個(gè)元素的指針數(shù)組。p_data的作用是用來(lái)存放數(shù)組a的每行元素的首地址,使指針數(shù)組的每個(gè)元素p_data[i]指向數(shù)組a的相應(yīng)行。可以用指針數(shù)組名p_data 或指針數(shù)組元素p_data[i]引用數(shù)組a的元素。*(*(p_data+i)+0), ;*p_data[i]、*(p_data[i]+0)或p_data[i][0]表示引用第i行第0列元素a[i][0];?*(*(p_data+i)+j), *(p_data[i]+j)或p_data[i][j]表示引用第i行第j列元素a[i][j]。
指針數(shù)組一般與二維數(shù)組建立關(guān)聯(lián),使用時(shí)需要注意:定義指針數(shù)組的長(zhǎng)度與定義一維數(shù)組的行數(shù)相同。
源程序:
運(yùn)行結(jié)果:
程序分析:
sort函數(shù)實(shí)現(xiàn)了選擇排序的算法,main函數(shù)中調(diào)用sort函數(shù),實(shí)參為數(shù)組名a,將a數(shù)組首元素的地址傳遞給形參指針變量b。在sort函數(shù)中引用*(b+k)就是引用實(shí)參數(shù)組中對(duì)應(yīng)的元素a[k]。sort 函數(shù)沒(méi)有返回值,故其函?數(shù)值類型為void。
本期的經(jīng)典程序就到這里啦,大家是否看過(guò)癮了呢,小C水平有限如果大家有更好的程序希望能積極投稿反映哦,咱們下期再見(jiàn)!
投稿郵箱:2080803313@qq.com編輯|排版|錢(qián)雄
審校|李倩倩
責(zé)任編輯|邱杰?熊克媛
宿州學(xué)院信息工程學(xué)院學(xué)生會(huì)出品
如需轉(zhuǎn)載請(qǐng)聯(lián)系后臺(tái)
總結(jié)
以上是生活随笔為你收集整理的c语言sort函数_C语言的那些经典程序 第八期的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hibernate_1_配置文件详解_基
- 下一篇: Struts2_1_基础案例_配置文件详