最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言中二維數(shù)組作為函數(shù)參數(shù)來傳遞的三種方法

 更新時間:2019年09月03日 15:37:39   作者:victor  
這篇文章主要給大家介紹了關(guān)于C語言中二維數(shù)組作為函數(shù)參數(shù)來傳遞的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用C語言有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

c語言中經(jīng)常需要通過函數(shù)傳遞二維數(shù)組,有三種方法可以實(shí)現(xiàn),如下:

方法一, 形參給出第二維的長度。

例如:

#include <stdio.h>
void func(int n, char str[ ][5] )
{
 int i;
 for(i = 0; i < n; i++)
 printf("/nstr[%d] = %s/n", i, str[i]);
}

void main()
{
 char* p[3];
 char str[][5] = {"abc","def","ghi"};
 func(3, str);
}

方法二,形參聲明為指向數(shù)組的指針。

例如:

#include <stdio.h>
void func(int n, char (*str)[5] )
{
 int i;
 for(i = 0; i < n; i++)
 printf("/nstr[%d] = %s/n", i, str[i]);
}

void main()
{
 char* p[3];
 char str[][5] = {"abc","def","ghi"};
 func(3, str);
}

方法三,形參聲明為指針的指針。

例如:

#include <stdio.h>
void func(int n, char **str)
{
 int i;
 for(i = 0; i < n; i++)
 printf("/nstr[%d] = %s/n", i, str[i]);
}
void main()
{
 char* p[3];
 char str[][5] = {"abc","def","ghi"};
 p[0] = &str[0][0];
 p[1] = str[1];
 p[2] = str[2];
 func(3, p);

}

附加,第三種傳參方式說明:在函數(shù)中使用傳參過來的二維數(shù)組(指針)進(jìn)行數(shù)組取值的時候不能使用(array[i][j] )這種形式來取值。應(yīng)該將二維數(shù)組看成一個一維數(shù)組,使用array[i * j + j]這種形式來進(jìn)行取值。

個人理解:這是因?yàn)樵趥鲄⒌臅r候,我們將array[][]數(shù)組當(dāng)成二級指針來進(jìn)行傳遞,所以我認(rèn)為他是將數(shù)組的屬性退化成了二級指針的屬性,因此這里并不能使用array[i][j]這種方式來進(jìn)行數(shù)組取值。輸出格式如下

int tag = 0;//tag標(biāo)記,在方法中輸出二維數(shù)組時所需要的標(biāo)記
printf("使用傳遞過來的二維數(shù)組參數(shù)輸出二維數(shù)組\n");
 for(i = 0; i < rows*columns; i++) { 
  printf("%d,", array[i]);
  if(tag == columns-1) {
   tag = 0;
   printf("\n");
  } else {
   tag++;
  }
 }

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

相關(guān)文章

  • C++實(shí)現(xiàn)兩個日期間差多少天的解決方法

    C++實(shí)現(xiàn)兩個日期間差多少天的解決方法

    本篇文章用實(shí)例說明,在C++中實(shí)現(xiàn)兩個日期間差多少天的方法。需要的朋友參考下
    2013-05-05
  • vscode終端中打不開conda虛擬包管理的解決

    vscode終端中打不開conda虛擬包管理的解決

    本文主要介紹了vscode終端中打不開conda虛擬包管理的解決,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • C語言二維數(shù)組應(yīng)用之掃雷游戲

    C語言二維數(shù)組應(yīng)用之掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語言二維數(shù)組應(yīng)用之掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 深入學(xué)習(xí)C語言中常見的八大排序

    深入學(xué)習(xí)C語言中常見的八大排序

    排序編程中非?;A(chǔ)的的理論方法,雖然排序的方法多,但是理解起來并不難,它是最基本的,初學(xué)者一定要掌握的東西。本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值
    2021-11-11
  • Qt實(shí)現(xiàn)圖片移動實(shí)例(圖文教程)

    Qt實(shí)現(xiàn)圖片移動實(shí)例(圖文教程)

    這學(xué)期實(shí)訓(xùn)的時候用MFC做過一個飛機(jī)大戰(zhàn),很無聊的東西,一直想用Qt做一個;首先需要解決的問題是圖片的移動,怎么說飛機(jī)啊子彈啊都是動著的,圖片當(dāng)然要跑起來,感興趣的你可不要走開啊
    2013-01-01
  • C/C++?函數(shù)的存儲位置和占用空間詳解

    C/C++?函數(shù)的存儲位置和占用空間詳解

    Lambda函數(shù)的代碼部分在代碼段中,被捕獲的變量存儲在Lambda函數(shù)對象的內(nèi)部,這些變量的存儲位置取決于Lambda函數(shù)對象的存儲位置,這篇文章主要介紹了C/C++函數(shù)的存儲位置和占用空間,需要的朋友可以參考下
    2023-06-06
  • C/C++ 數(shù)組和指針及引用的區(qū)別

    C/C++ 數(shù)組和指針及引用的區(qū)別

    這篇文章主要介紹了C/C++ 數(shù)組和指針及引用的區(qū)別的相關(guān)資料,這里從匯編的角度來分析他們之間的區(qū)別,需要的朋友可以參考下
    2017-07-07
  • C語言實(shí)現(xiàn)簡易的三子棋游戲

    C語言實(shí)現(xiàn)簡易的三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡易的三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 一起來看看C語言線性表的線性鏈表

    一起來看看C語言線性表的線性鏈表

    這篇文章主要為大家詳細(xì)介紹了C語言線性表的線性鏈表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法

    C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法

    這篇文章主要介紹了C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法,涉及C語言針對數(shù)組的遍歷與判斷技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論

南充市| 宁化县| 虹口区| 丹东市| 将乐县| 德惠市| 家居| 安平县| 澜沧| 文山县| 曲松县| 商城县| 上犹县| 宝应县| 保靖县| 枣强县| 沈阳市| 淄博市| 德昌县| 左贡县| 连山| 登封市| 个旧市| 五莲县| 浦县| 玉溪市| 台山市| 胶州市| 连山| 楚雄市| 高青县| 莱阳市| 买车| 密山市| 邯郸市| 汪清县| 彝良县| 彭水| 喀喇| 本溪市| 东平县|