C語言二維陣列的引用,這個a 3說是超出了陣列定義的上界,a 7是合法引用

2021-04-22 02:17:19 字數 623 閱讀 6019

1樓:伯鍍已被註冊

因為陣列下標 是從0開始算的

元素個數 3 int a[3];

下標就是 0 1 2 a[0] 、a[1]、 a[2]

c語言二維陣列a[3][4]=3為什麼是錯的

2樓:兄弟連教育北京總校

char *p是一維的, str是2維的,p=str,二者不匹配。str[0]是一維的,與p同型別。

a與a[0]只是在使用a的首地址這個值時意義才一樣。

a是地址,*a是取a這個地址中儲存的一個byte.[看數值型別,如果是整數,則是取整數]

c語言定義陣列int a[5]={1,2,3,4},這種情況a[4]的值是零嗎?

3樓:大力金剛神

注意分清宣告和定義的概念!!

int a[5];這是宣告 這個時

候 陣列裡面的內容是混亂隨機的不是0 !

int a[5] = ;這是定義 這個時候,對應位置的內容被初始化 其他沒有設值的,被編譯器補成0了。

4樓:我要y美年達

對呀,沒有初始化。預設為0

c語言二維陣列

因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明...

c語言中二維陣列的定義問題C語言中二維陣列的定義問題

正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第一個維度預設是 舉個例子 int tar 2 因為大括號中有4個元素,而且第二個維度是2,所以就可以計算出來第一維度是2.所以是可以預設的。2.你的這個例子中,第一維預設的應該是 7 8 1 ma...

求問個c語言問題,為什麼二維陣列做引數引用時,陣列要填下標

不清楚你學指標沒,如果學了這個問題就好說了.二維陣列是一個二級指標,而一維陣列就是版一個普通的指標權.二維陣列其實也是一維的,只是它的一個元素還是一個陣列.而一維陣列要得到一個元素可以這樣 p i 這樣是完全等價於p i 的.而二維陣列想要得到它其中的一個元素就要這樣 int i 10 3 i 1 ...