陣列越界的最後一位是什麼

2022-12-03 23:31:25 字數 989 閱讀 7806

1樓:人風景畫

能具體點嗎,陣列的訪問:從下標從0到陣列元素個數-1;例如:陣列a[5],a[0]是陣列a的第乙個元素,而a[4]是陣列a最後乙個元素。如果寫成a[5],或者更大就越界了。

不知道你問的是不是這個意思

2樓:匿名使用者

舉2個例子和你們說一下

example1:

void test1()

在上面的例子中越界最後一位str[8] = '\0',並且覆蓋了tmp的記憶體,使tmp等於0.

example2

void test2()

在上面的例子中越界最後一位str[8] = '\0',並且覆蓋了暫存器ebp的內容,有可能使得return飄移。

3樓:匿名使用者

就是說如果定義a[n],最後一位應該就是n-1。

4樓:匿名使用者

如果有int a[5];則下標從0到4,即陣列元素分別為a[0]\a[1]\a[2]\a[3]\a[4].

所以a[5]就算越界了

5樓:

c 語言 不對陣列下標越界作檢查。有人說越界範圍不超過64k不會報錯。

我覺得主要看編譯器對記憶體分配的安排,例如:

#include

void main() ;}

--------

d[i] 的下標 有效範圍應當是 0-99,這裡讓它列印d[100]到d[399],沒問題,它打出 c[0]到c[99],b[0] 到b[99], a[0] 到 a[99]

如果打 d[400]和以後,還能打,但數值有問題了。

ms vc++ 編譯器,記憶體分配次序是 d..c...b...a如果你打 a[100]到a[399]就打出亂七八糟的數。

所以不要用下標越界的陣列元素,因為數值不可靠。

6樓:匿名使用者

定義int a[5]的話,a[5]就越界了

清朝的最後一位叫什麼名字

最後一位皇帝是溥儀,溥儀 1906一1967 中國清朝末代皇帝,偽滿洲國皇帝。清入關後第十代皇帝。道光帝曾孫,酵親王載灃子,姓愛新覺羅,字浩然,英文名亨利。滿族。1908年 11月14日 被立為嗣皇帝,授載灃為攝政王,年號宣統。最後一位皇后是隆裕皇后,葉赫那拉氏,名靜芬.小名喜子.是慈禧太后的內侄女...

埃及的最後一位法老是誰,叫什麼,古埃及最後乙個法老是誰?

圖坦卡蒙為現代西方人廣為熟知是因為他的墳墓在三千年的時間內從未被盜,直到被英國險家哈瓦德 卡特在卡爾納馮伯爵 lord carnarvon 的支援下發現他的墓葬,並挖掘出大量珍寶,從而震驚了西方世界。當圖坦卡蒙登基時,大金字塔就已經有1250年的歷史了。他死時只有19歲,他的墓未被人盜過,因為他修建...

一位小數是什麼意思,什麼是一位小數

一位bai 小數就是小數點後只有du1個數字,包括0。例如zhi dao3.0是一位版小數 權2.3是一位小數 0.5是一位小數。小數點的後面有幾位就是幾位小數。3.00是兩位小數 2.785是三位小數 寫法 整數部分寫在小數點前,小數部分寫在小數點後,中間用小數點隔開。小數由整數部分 小數部分和小...