亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

筆試中數(shù)組越界問(wèn)題

時(shí)間:2020-11-21 18:19:27 筆試題目 我要投稿

筆試中數(shù)組越界問(wèn)題

  下面這個(gè)程序執(zhí)行后會(huì)有什么錯(cuò)誤或者效果:

筆試中數(shù)組越界問(wèn)題

  #define MAX 255

  int main()

  {

  unsigned char A[MAX],i;

  for (i=0;i<=MAX;i++)

  A[i]=i;

  }

  解答:MAX=255,數(shù)組A的下標(biāo)范圍為:0..MAX-1,這是其一,其二 當(dāng)i循環(huán)到255時(shí),循環(huán)內(nèi)執(zhí)行: A[255]=255;這句本身沒(méi)有問(wèn)題,但是返回for (i=0;i<=MAX;i++)語(yǔ)句時(shí),由于unsigned char的取值范圍在(0..255),i++以后i又為0了..無(wú)限循環(huán)下去.

  注:char類型為一個(gè)字節(jié),取值范圍是[-128,127],unsigned char [0 ,255]

  拓展閱讀:

  語(yǔ)法錯(cuò)誤不等于不能執(zhí)行,能執(zhí)行不等于結(jié)果正確....

  結(jié)論:

  越界是肯定的

  內(nèi)存是很大的

  舉個(gè)例子吧:

  int main(...){

  int a =0;

  int b[3] = 0;

  b[3] = 1;

  }

  //結(jié)果有可能使a=1;

  //具體結(jié)果跟進(jìn)程中棧排列有關(guān)

  越界雖然會(huì)影響其它內(nèi)存位置的變量,但只能影響本進(jìn)程空間的'內(nèi)存,對(duì)其他程序沒(méi)有影響,除非你的越界已經(jīng)延伸到了環(huán)境變量的位置

  unix/linux下可能的錯(cuò)誤(其他的不知道):

  SIGBUS 總線錯(cuò)誤

  SIGSEGV 段地址錯(cuò)誤

【筆試中數(shù)組越界問(wèn)題】相關(guān)文章:

《公民凱恩》中的視角越界08-19

JavaScript中的索引數(shù)組、關(guān)聯(lián)數(shù)組和靜態(tài)數(shù)組、動(dòng)態(tài)數(shù)組的分類講11-10

PHP中如何創(chuàng)建和修改數(shù)組11-25

幾個(gè)常見(jiàn)的軟件測(cè)試面試筆試中的問(wèn)題12-09

ASP筆試問(wèn)題集11-27

淺談javascript數(shù)組06-19

中軟集團(tuán)筆試題12-20

關(guān)于PHP數(shù)組內(nèi)存耗用太多問(wèn)題的解決方法11-20

JSON數(shù)組用法介紹11-10