1. 程式人生 > >一點關於陣列越界的知識

一點關於陣列越界的知識

C11中,陣列越界會導致程式崩潰,例如在微軟的VS上。

#include <stdio.h>

int main()
{
	int i;
	int arr[10];
	for (i = 0; i <= 10; i++)
	{
		arr[i] = 0;
		printf("%d\n", i);
	}

	return 0;
}

 

 當i=10,進入for迴圈,因為資料進棧出棧的原因,執行arr[i]=0時,將i=10改成i=0,造成程式死迴圈,而崩潰。(VS在每個變數後都加了倆個“炸彈”,一旦越界則使得程式崩潰)