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

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

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

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

方法一, 形參給出第二維的長(zhǎng)度。

例如:

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

}

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

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

int tag = 0;//tag標(biāo)記,在方法中輸出二維數(shù)組時(shí)所需要的標(biāo)記
printf("使用傳遞過(guò)來(lái)的二維數(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é)

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

相關(guān)文章

  • Opencv透視變換綜合實(shí)例詳解

    Opencv透視變換綜合實(shí)例詳解

    這篇文章主要為大家詳細(xì)介紹了Opencv透視變換綜合實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 使用Clion刷LeetCode的方法

    使用Clion刷LeetCode的方法

    這篇文章主要介紹了使用Clion刷LeetCode的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • 用C編寫(xiě)一個(gè)送給女朋友的情人節(jié)小程序 可愛(ài)!

    用C編寫(xiě)一個(gè)送給女朋友的情人節(jié)小程序 可愛(ài)!

    非??蓯?ài)的情人節(jié)小程序!文章為大家分享了用C編寫(xiě)一個(gè)送給女朋友的小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • C與C++之間相互調(diào)用實(shí)例方法講解

    C與C++之間相互調(diào)用實(shí)例方法講解

    這篇文章主要介紹了C與C++之間相互調(diào)用的實(shí)例方法,大家參考使用吧
    2013-12-12
  • C++字符串拼接效率對(duì)比(+=、append、stringstream、sprintf)

    C++字符串拼接效率對(duì)比(+=、append、stringstream、sprintf)

    這篇文章主要介紹了C++字符串拼接效率對(duì)比(+=、append、stringstream、sprintf),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • C++實(shí)現(xiàn)String類實(shí)例代碼

    C++實(shí)現(xiàn)String類實(shí)例代碼

    這篇文章主要介紹了C++實(shí)現(xiàn)String類實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 老生常談C++中實(shí)參形參的傳遞問(wèn)題

    老生常談C++中實(shí)參形參的傳遞問(wèn)題

    下面小編就為大家?guī)?lái)一篇老生常談C++中實(shí)參形參的傳遞問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 一文搞懂C++11萬(wàn)能引用和右值引用

    一文搞懂C++11萬(wàn)能引用和右值引用

    本文主要介紹了C++11萬(wàn)能引用和右值引用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解Matlab中自帶的Java操作合集

    詳解Matlab中自帶的Java操作合集

    其實(shí)Matlab中也有一些自帶的Java操作,例如:獲取鼠標(biāo)在全屏位置、獲取當(dāng)前剪切板內(nèi)容、獲取鼠標(biāo)處像素顏色等,本文總結(jié)了七個(gè)這樣的操作,感興趣的可以了解一下
    2022-03-03
  • 關(guān)于C語(yǔ)言中的指針與二維數(shù)組

    關(guān)于C語(yǔ)言中的指針與二維數(shù)組

    這篇文章主要介紹了關(guān)于C語(yǔ)言中的指針與二維數(shù)組,C語(yǔ)言中,指針是一個(gè)復(fù)雜但又靈活多變的知識(shí)點(diǎn),我們知道,在一維數(shù)組中,對(duì)于一個(gè)數(shù)組a[],*a,a,&a,都表示a的首地址,但如果與二維數(shù)組混合使用,就顯得更為復(fù)雜了,需要的朋友可以參考下
    2023-07-07

最新評(píng)論