精品欧美无遮挡一区二区三区在线观看,中文字幕一区二区日韩欧美,久久久久国色αv免费观看,亚洲熟女乱综合一区二区三区

        ? 首頁 ? 百科知識 ?指針函數(shù)可以直接寫固定數(shù)值嗎

        指針函數(shù)可以直接寫固定數(shù)值嗎

        時(shí)間:2023-10-20 百科知識 版權(quán)反饋
        【摘要】:array為實(shí)參數(shù)組名,arr為形參數(shù)組名。同樣,指針變量的值也是地址,數(shù)組指針變量的值即為數(shù)組的首地址,當(dāng)然也可作為函數(shù)的參數(shù)使用,如圖9-7所示。在函數(shù)max_min_value中求出的最大值和最小值放在max和min中。即如果用指針變?yōu)閷?shí)參,必須先使指針變量有確定值,指向一個(gè)已定義的數(shù)組。

        9.3.3 數(shù)組名作函數(shù)參數(shù)

        數(shù)組名可以作函數(shù)的實(shí)參和形參。如:

        img436

        array為實(shí)參數(shù)組名,arr為形參數(shù)組名。在學(xué)習(xí)指針變量之后就更容易理解這個(gè)問題了。數(shù)組名就是數(shù)組的首地址,實(shí)參向形參傳送數(shù)組名實(shí)際上就是傳送數(shù)組的地址,形參得到該地址后也指向同一數(shù)組。這就好像同一件物品有兩個(gè)彼此不同的名稱一樣。

        同樣,指針變量的值也是地址,數(shù)組指針變量的值即為數(shù)組的首地址,當(dāng)然也可作為函數(shù)的參數(shù)使用,如圖9-7所示。

        img437

        圖9-7

        【例9-13】給一維數(shù)組輸入數(shù)據(jù),用指針傳遞調(diào)用另一函數(shù)求平均值。

        img438

        【例9-14】將數(shù)組a中的n個(gè)整數(shù)按相反順序存放。

        算法為:將a[0]與a[n-1]對換,再a[1]與a[n-2]對換……,直到將a[(n-1/2)]與a[n-int((n-1)/2)]對換。今用循環(huán)處理此問題,設(shè)兩個(gè)“位置指示變量”i和j,i的初值為0,j的初值為n-1。將a[i]與a[j]交換,然后使i的值加1,j的值減1,再將a[i]與a[j]交換,直到i=(n-1)/2為止,如圖9-8所示。

        img439

        圖9-8

        程序如下:

        img440

        img441

        對此程序可以作一些改動。將函數(shù)inv中的形參x改成指針變量。

        【例9-15】對例9-14可以作一些改動。將函數(shù)inv中的形參x改成指針變量。

        程序如下:

        img442

        img443

        運(yùn)行情況與前一程序相同。

        【例9-16】從10個(gè)數(shù)中找出其中最大值和最小值。

        調(diào)用一個(gè)函數(shù)只能得到一個(gè)返回值,今用全局變量在函數(shù)之間“傳遞”數(shù)據(jù)。程序如下:

        img444

        說明:

        (1)在函數(shù)max_min_value中求出的最大值和最小值放在max和min中。由于它們是全局,因此在主函數(shù)中可以直接使用。

        (2)函數(shù)max_min_value中的語句:

        max=min=*array;

        array是數(shù)組名,它接收從實(shí)參傳來的數(shù)組numuber的首地址。

        *array相當(dāng)于*(&array[0])。上述語句與max=min= array[0];等價(jià)。

        (3)在執(zhí)行for循環(huán)時(shí),p的初值為array+1,也就是使p指向array[1]。以后每次執(zhí)行p++,使p指向下一個(gè)元素。每次將*p和max與min比較。將大者放入max,小者放min,如圖9-9所示。

        img445

        圖9-9

        (4)函數(shù)max_min_value的形參array可以改為指針變量類型。實(shí)參也可以不用數(shù)組名,而用指針變量傳遞地址。

        【例9-17】程序可改為:

        img446

        歸納起來,如果有一個(gè)實(shí)參數(shù)組,想在函數(shù)中改變此數(shù)組的元素的值,實(shí)參與形參的對應(yīng)關(guān)系有以下4種:

        (1)形參和實(shí)參都是數(shù)組名。

        img447

        a和x指的是同一組數(shù)組。

        (2)實(shí)用數(shù)組,形參用指針變量。

        img448

        img449

        (3)實(shí)參、型參都用指針變量。

        (4)實(shí)參為指針變量,型參為數(shù)組名。

        【例9-18】用實(shí)參指針變量改寫將n個(gè)整數(shù)按相反順序存放。

        img450

        注意:main函數(shù)中的指針變量p是有確定值的。即如果用指針變?yōu)閷?shí)參,必須先使指針變量有確定值,指向一個(gè)已定義的數(shù)組。

        【例9-19】用選擇法對10個(gè)整數(shù)排序。

        img451

        img452

        說明:函數(shù)sort用數(shù)組名作為形參,也可改為用指針變量,這時(shí)函數(shù)的首部可以改為:sort(int *x,intn)其他可一律不改。

        免責(zé)聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。

        我要反饋