廢話不多說,直接上圖!!
上面兩張截圖就是我測試二維數組的代碼與結果,接下來再來看看一維數組的:
兩組數據的對比可以看出二維數組明顯難理解一些,那咱們應該如何理解二維數組?
二維數組可以看成是元素為 一維數組 的 一維數組。比如 a[2][3],可以看成是具有兩個元素的一維數組(這兩個元素是 a[0], b[1]),每個元素又是一個具有三個int型數據的一維數組。
接下來說幾個注意事項:
1.首先需要注意的是數組名也是數組的首地址,是地址!!!
例如:a[1][2]、b[1]中的a、b。
2.另外,認真看完圖后,有些小伙伴也許就會有疑問,我是不是漏了&(a+1)呢?
其實不是我漏了,&(a+1)是非法的語句,無法編譯,因為a+1的結果存放在寄存器中,無法取址,不當然,相信也可以自己動手試試,看看自己的編譯器會不會報錯。
3.如果你想表達的是取值操作,那應該使用取值操作符*,表達式變為a+1和(a+1),這兩個表達式是有區別的:
*a+1表示是先取出a[0]的值,然后對該值加1。
*(a+1)表示的是數組指針先向下跳一位,然后取出其指向的a[1]的值。
4.*(a+0)+i=a[0]+i,是a[0][i]的地址。
補充char類型:
————————————————
版權聲明:本文為CSDN博主「我喜歡小黃花」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/orange_monkey/article/details/104349441