C語言中陣列溢位是什麼

R-B發表於2021-09-11

C語言中陣列溢位是什麼

1、當陣列的長度大於我們定義陣列時,陣列的長度就會出現陣列溢位的問題。

2、當陣列溢位時,編譯器會在編譯時報告錯誤。正常的陣列溢位是指輸出陣列時多出的部分會被丟棄。

但是,如果陣列以字串的形式溢位,當我們還輸出陣列時,編譯器可能會正常透過,但輸出不正常。因此,在定義陣列和給陣列賦值時,我們應該小心避免陣列溢位的發生。

例項

#include<stdlib.h>
#include<stdio.h>
void main()
{
    unsigned char a[3] = {0};
    a[0] = 200;
    a[1] = 200;
    a[2] = a[0] + a[1]; //unsigned char 取值範圍:0~255 ,超出取值範圍
    printf("a:%d  b:%d c:%dn", a[0], a[1], a[2]);
    system("pause");
}
/*
輸出:
a:200  b:200 c:144
請按任意鍵繼續. . .
*/

以上就是C語言中陣列溢位的介紹,希望對大家有所幫助。更多C語言學習指路:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4560/viewspace-2828118/,如需轉載,請註明出處,否則將追究法律責任。

相關文章