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

c++將數(shù)組名作為函數(shù)參數(shù)對數(shù)組元素進行相應的運算

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

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

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

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

復制代碼 代碼如下:

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

#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);
}

說明:

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

復制代碼 代碼如下:

#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++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C語言實現(xiàn)將字符串轉(zhuǎn)換成整數(shù)

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

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

    C++在vscode中的多文件編程問題解讀

    這篇文章主要介紹了C++在vscode中的多文件編程問題解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C語言入門學習筆記之typedef簡介

    C語言入門學習筆記之typedef簡介

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

    C++中LibCurl庫的使用教程分享

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

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

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

    淺談C++指針(必看)

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

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

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

    解析C++中派生的概念以及派生類成員的訪問屬性

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

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

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

最新評論