這個程式能正常輸出,指標a指向的空間程式沒有分配啊。
int main()//
{
int *a;
int j = 2;//不加這一步并且修改第九行報錯
int i;
a[0] = 100;
a[1] = 50;
for(i=0;i<2;++i)//第九行
{
printf("%d",a[i]);
}
return 0;
uj5u.com熱心網友回復:
a是野指標,所謂野指標就是a指向的記憶體地址不確定,如果a指向了可讀可寫的,這樣的程式運行是沒問題的。但是如果a指向了不可以讀寫的位置,那么就會出現段錯誤了。
所以并不能保證每次都能正常運行的。
另外,即使正常運行,a指向的位置也是未被系統分配的,那么其他程式還可能繼續使用這塊記憶體,因此賦值可能被修改或者修改別的程式在這塊區域的值。因此,很危險。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/97353.html
標籤:C語言
上一篇:C語言結構體指標
