欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c++將數(shù)組名作為函數(shù)參數(shù)對(duì)數(shù)組元素進(jìn)行相應(yīng)的運(yùn)算

 更新時(shí)間:2014年05月04日 11:07:27   作者:  
這篇文章主要介紹了c++將數(shù)組名作為函數(shù)參數(shù)對(duì)數(shù)組元素進(jìn)行相應(yīng)的運(yùn)算,需要的朋友可以參考下

用數(shù)組名做函數(shù)參數(shù)與用數(shù)組元素作實(shí)參有幾點(diǎn)不同:

(1)用數(shù)組元素作實(shí)參時(shí),只要數(shù)組類型和函數(shù)的形參變量的類型一致,那么作為下標(biāo)變量的數(shù)組元素的類型也和函數(shù)形參變量的類型是一致的。因此,并不要求函數(shù)的形參也是下標(biāo)變量。換句話說(shuō),對(duì)數(shù)組元素的處理是按普通變量對(duì)待的。用數(shù)組名作函數(shù)參數(shù)時(shí),則要求形參和相應(yīng)的實(shí)參都必須是類型相同的數(shù)組,都必須有明確的數(shù)組說(shuō)明。當(dāng)形參和實(shí)參兩者類型不一致時(shí),將會(huì)發(fā)生錯(cuò)誤。

(2)用普通變量或下標(biāo)變量作函數(shù)參數(shù)時(shí),形參變量和實(shí)參變量都是由編譯系統(tǒng)分配的兩個(gè)不同的內(nèi)存單元。在函數(shù)調(diào)用時(shí)進(jìn)行的值傳遞是把實(shí)參變量的值賦予形參變量。在用數(shù)組名做函數(shù)參數(shù)時(shí),不是進(jìn)行值的傳遞,即不是把實(shí)參數(shù)組的每一個(gè)元素的值都賦予形參數(shù)組的各個(gè)元素。因?yàn)閷?shí)際上形參數(shù)組并不存在,編譯系統(tǒng)不為形參數(shù)組分配內(nèi)存。因?yàn)閿?shù)組名就是數(shù)組的首地址。因此用數(shù)組名做函數(shù)參數(shù)時(shí)所進(jìn)行的傳遞實(shí)際上是地址的傳遞,也就是把實(shí)參數(shù)組的首地址賦予形參數(shù)組名。形參數(shù)組名取得該首地址后,也就等于有了具體的地址。實(shí)際上是形參數(shù)組和實(shí)參數(shù)組為同一數(shù)組,共同使用一段內(nèi)存空間。

復(fù)制代碼 代碼如下:

//例:一維數(shù)組score,存放10個(gè)學(xué)生的成績(jī),求平均值。

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
float average(float array[10])
{   int i;
    float aver,sum=array[0];
    for(i=1; i<10; i++)
        sum=sum+array[i];
    aver=sum/10;
    return aver;
}
void main()
{   float score[10],aver;
    int i;
    printf("input 10 score:\n");
    for(i=0; i<10; i++)
        scanf("%f",&score[i]);
    printf("\n");
    aver=average(score);
    printf("average score is %5.2f\n",aver);
}

說(shuō)明:

(1)用數(shù)組名作函數(shù)參數(shù),應(yīng)該在主調(diào)函數(shù)和被調(diào)函數(shù)中分別定義數(shù)組。
(2)實(shí)參數(shù)組與形參數(shù)組類型應(yīng)一致,如不一致,結(jié)果將出錯(cuò)。
(3)實(shí)際上,指定被調(diào)函數(shù)中形參數(shù)組的大小是不起任何作用的,因?yàn)镃編譯器對(duì)形參數(shù)組大小不做檢查,只是將形參數(shù)組的首地址傳給形參數(shù)組。
(4)形參數(shù)組也可以不指定大小,定義數(shù)組時(shí)在數(shù)組名后跟一個(gè)空的中括號(hào),為了在被調(diào)函數(shù)中處理數(shù)組元素的需要,可以另設(shè)一個(gè)參數(shù),傳遞數(shù)組元素的個(gè)數(shù)。

復(fù)制代碼 代碼如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
float average(float array[],int n)
{   int i;
    float aver,sum=array[0];
    for(i=1; i<n; i++)
        sum=sum+array[i];
    aver=sum/n;
    return aver;
}
void main()
{   float score1[5]= {98.5,97,91.5,60,55};
    float score2[10]= {67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};
    printf("the average of class A is %6.2f\n",average(score1,5));
    printf("the average of class B is %6.2f\n",average(score2,10));
}

相關(guān)文章

  • C++中字符串以及數(shù)組和指針的互相使用講解

    C++中字符串以及數(shù)組和指針的互相使用講解

    這篇文章主要介紹了C++中字符串以及數(shù)組和指針的互相使用講解,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C語(yǔ)言實(shí)現(xiàn)將字符串轉(zhuǎn)換成整數(shù)

    C語(yǔ)言實(shí)現(xiàn)將字符串轉(zhuǎn)換成整數(shù)

    這篇文章主要為大家詳細(xì)介紹了如何用C語(yǔ)言寫(xiě)一個(gè)函數(shù),把字符串轉(zhuǎn)換成整數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • C++在vscode中的多文件編程問(wèn)題解讀

    C++在vscode中的多文件編程問(wèn)題解讀

    這篇文章主要介紹了C++在vscode中的多文件編程問(wèn)題解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C語(yǔ)言入門學(xué)習(xí)筆記之typedef簡(jiǎn)介

    C語(yǔ)言入門學(xué)習(xí)筆記之typedef簡(jiǎn)介

    typedef為C語(yǔ)言的關(guān)鍵字,作用是為一種數(shù)據(jù)類型定義一個(gè)新名字,下面這篇文章主要給大家介紹了關(guān)于C語(yǔ)言入門學(xué)習(xí)筆記之typedef簡(jiǎn)介的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • C++中LibCurl庫(kù)的使用教程分享

    C++中LibCurl庫(kù)的使用教程分享

    LibCurl是一個(gè)開(kāi)源的免費(fèi)的多協(xié)議數(shù)據(jù)傳輸開(kāi)源庫(kù),該框架具備跨平臺(tái)性,開(kāi)源免費(fèi),這篇文章主要為大家介紹了如何在C++中使用LibCurl庫(kù),需要的可以參考下
    2023-08-08
  • C++引用和指針的區(qū)別你知道嗎

    C++引用和指針的區(qū)別你知道嗎

    這篇文章主要為大家介紹了C++引用和指針的區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>
    2022-01-01
  • 淺談C++指針(必看)

    淺談C++指針(必看)

    下面小編就為大家?guī)?lái)一篇淺談C++指針(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • C++中對(duì)象的動(dòng)態(tài)建立與釋放詳解及其作用介紹

    C++中對(duì)象的動(dòng)態(tài)建立與釋放詳解及其作用介紹

    這篇文章主要介紹了C++中對(duì)象的動(dòng)態(tài)建立與釋放詳解及其作用介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • 解析C++中派生的概念以及派生類成員的訪問(wèn)屬性

    解析C++中派生的概念以及派生類成員的訪問(wèn)屬性

    這篇文章主要介紹了解析C++中派生的概念以及派生類成員的訪問(wèn)屬性,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C++實(shí)例講解四種類型轉(zhuǎn)換的使用

    C++實(shí)例講解四種類型轉(zhuǎn)換的使用

    在C++語(yǔ)言中新增了四個(gè)關(guān)鍵字static_cast、const_cast、reinterpret_cast和dynamic_cast。這四個(gè)關(guān)鍵字都是用于類型轉(zhuǎn)換的,類型轉(zhuǎn)換(type cast),是高級(jí)語(yǔ)言的一個(gè)基本語(yǔ)法。它被實(shí)現(xiàn)為一個(gè)特殊的運(yùn)算符,以小括號(hào)內(nèi)加上類型名來(lái)表示,接下來(lái)讓我們一起來(lái)詳細(xì)了解
    2022-06-06

最新評(píng)論