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

C++ 二維數(shù)組參數(shù)傳遞的實(shí)現(xiàn)方法

 更新時(shí)間:2017年08月28日 16:30:39   作者:liuzhanchen1987  
這篇文章主要介紹了C++ 二維數(shù)組參數(shù)傳遞的實(shí)現(xiàn)方法的相關(guān)資料,這里提供三種方法幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下

C++ 二維數(shù)組參數(shù)傳遞的實(shí)現(xiàn)方法

int a[2][2]={ {4, 6}, {9, 11} };

我定義了這樣一個(gè)數(shù)組,我想把這個(gè)數(shù)組作為參數(shù),傳遞到一個(gè)函數(shù)中,并要在函數(shù)中能引用該二維數(shù)組的元素,我該怎么做? 

第一種方式是直接傳遞二維數(shù)組,但是必須標(biāo)明第二維的值,因?yàn)槿绻皇莻鬟fa[][],編譯器無(wú)法分配這樣的數(shù)組,所以要這樣傳int a[][3]

第二種方法是傳遞指針數(shù)組方式,即int (*a)[3]

第三種是傳遞指針方法。

具體實(shí)施見代碼:

方法1:傳遞數(shù)組,注意第二維必須標(biāo)明

//二維數(shù)組傳參問題示例
#include<iostream>
using namespace std;
//方法1:傳遞數(shù)組,注意第二維必須標(biāo)明
void fun1(int arr[][3],int iRows)
{
 for(int i=0;i<iRows;i++)
 {
 for(int j=0;j<3;j++)
 {
  cout<<arr[i][j]<<" ";
 }
 cout<<endl;
 }
 cout<<endl;
}

方法二:一重指針

void fun2(int (*arr)[3],int iRows)
{
 
 for(int i=0;i<iRows;i++)
 {
 for(int j=0;j<3;j++)
 {
  cout<<arr[i][j]<<" ";
 }
 cout<<endl;
 }
 cout<<endl;
}

方法三:指針傳遞,不管是幾維數(shù)組都把他看成是指針,

void fun3(int*arr,int iRows,int iCols)
{
 for(int i=0;i<iRows;i++)
 {
 for(int j=0;j<3;j++)
 {
  cout<<*(arr+i*iRows+j)<<" ";
 }
 cout<<endl;
 }
 cout<<endl;
}
int main()
{
 int a[2][3]={{1,2,3},{4,5,6}};
 fun1(a,2);
 cout<<endl;
 fun2(a,2);
 cout<<endl;
 //此處必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換,因?yàn)閍是二維數(shù)組,而需要傳入的是指針
 //所以必須強(qiáng)制轉(zhuǎn)換成指針,如果a是一維數(shù)組則不必進(jìn)行強(qiáng)制類型轉(zhuǎn)換
 //為什么一維數(shù)組不用強(qiáng)制轉(zhuǎn)換而二維數(shù)組必須轉(zhuǎn)換,此問題還沒解決,期待大牛!
 fun3((int*)a,2,3);
 cout<<endl;
}

/*
#include<iostream>
using namespace std;
void fun(int *a,int length)
{
 int i;
 for(i=0;i<length;i++)
 {
 cout<<a[i]<<" ";
 }
 cout<<endl;
}
int main()
{
 int a[4]={1,2,3,4};
 fun(a,4);
 cout<<endl;
 return 0;
}
*/

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持,大家共同進(jìn)步!

您可能感興趣的文章:

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)學(xué)生管理系統(tǒng)總結(jié)

    C語(yǔ)言實(shí)現(xiàn)學(xué)生管理系統(tǒng)總結(jié)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • C++編寫非侵入式接口

    C++編寫非侵入式接口

    這篇文章主要介紹了C++編寫非侵入式接口的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的通訊錄

    C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的通訊錄

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • C語(yǔ)言lidar_align雷達(dá)里程計(jì)校準(zhǔn)功能詳解

    C語(yǔ)言lidar_align雷達(dá)里程計(jì)校準(zhǔn)功能詳解

    這篇文章主要為大家介紹了C語(yǔ)言lidar_align雷達(dá)里程計(jì)校準(zhǔn)功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • c++隱式類型轉(zhuǎn)換示例分享

    c++隱式類型轉(zhuǎn)換示例分享

    這篇文章主要介紹了c++隱式類型轉(zhuǎn)換的二個(gè)示例,需要的朋友可以參考下
    2014-03-03
  • C++文件輸入輸出fstream使用方法

    C++文件輸入輸出fstream使用方法

    C++標(biāo)準(zhǔn)庫(kù)提供了<fstream>頭文件,其中包含了用于文件輸入輸出的相關(guān)類和函數(shù),本文將詳細(xì)介紹<fstream>頭文件的使用方法,包括函數(shù)原型、打開文件、讀取和寫入文件、以及錯(cuò)誤處理等注意事項(xiàng),感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 深入分析C++中deque的使用

    深入分析C++中deque的使用

    本篇文章介紹了,深入分析C++中deque的使用。需要的朋友參考下
    2013-05-05
  • CMake的簡(jiǎn)單應(yīng)用

    CMake的簡(jiǎn)單應(yīng)用

    這篇文章主要介紹了CMake的簡(jiǎn)單應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C語(yǔ)言實(shí)現(xiàn)隨機(jī)抽取紙牌程序

    C語(yǔ)言實(shí)現(xiàn)隨機(jī)抽取紙牌程序

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)隨機(jī)抽取紙牌程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Qt5實(shí)現(xiàn)文本編輯器(附詳細(xì)代碼)

    Qt5實(shí)現(xiàn)文本編輯器(附詳細(xì)代碼)

    QT是一個(gè)跨平臺(tái)的GUI開發(fā)框架,我使用的QT5 C++版本的,本文主要介紹了Qt5實(shí)現(xiàn)文本編輯器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評(píng)論