亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C語言二維數(shù)組怎么寫好

時(shí)間:2024-10-27 03:49:07 C語言 我要投稿
  • 相關(guān)推薦

C語言二維數(shù)組怎么寫好

  有同學(xué)在面對二維數(shù)組的時(shí)候,常常會(huì)犯渾。尤其是使用函數(shù)傳參的時(shí)候,有老師講到一維數(shù)組傳參后就等價(jià)于一級(jí)指針,部分同學(xué)舉一反三自學(xué)成才,想當(dāng)然地認(rèn)為二維數(shù)組傳參后就等價(jià)于二級(jí)指針,這是錯(cuò)誤的。

  假如,有如下代碼:

  int a[2][3]; // 一個(gè)二維數(shù)組

  function(a); // 將二維數(shù)組傳參給一個(gè)函數(shù)

  上述代碼中,就是將一個(gè)二維數(shù)組傳遞給一個(gè)函數(shù),那么這個(gè)函數(shù)怎么接受這個(gè)參數(shù)呢,答案是這樣的:

  void function(int a[2][3]) // 這是對的

  { }

  void function(int (*a)[3]) // 這也是對的

  { }

  千萬別寫成這樣:

  void function(int **a) // 這是錯(cuò)的

  { }

  究其原因,還是回到以前提過多次的數(shù)組與指針的結(jié)論:任何數(shù)組,都將被一律視為一個(gè)指向其首元素的指針。因此以下兩行代碼是等價(jià)的:

  function(a);

  function(&a[0]);

  對于二維數(shù)組 int a[2][3] 而言,其首元素就是一個(gè) int [3] ,因此&a[0]就是一個(gè)指向 int [3] 的指針,其類型當(dāng)然是 int (*)[3] 了。這樣再來看上述的function兩種正確定義,就不難理解了。

【C語言二維數(shù)組怎么寫好】相關(guān)文章:

c語言怎么定義一維數(shù)組和二維數(shù)組11-27

c語言中什么是二維數(shù)組03-20

什么是C語言數(shù)組01-09

C語言數(shù)組實(shí)例解析03-28

C語言數(shù)組是什么12-02

C語言數(shù)組知識(shí)點(diǎn)03-29

C語言數(shù)組知識(shí)點(diǎn)03-29

c語言多維數(shù)組地址的表示方法07-31

C語言數(shù)組知識(shí)點(diǎn)總結(jié)12-06