a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

C語言為什么不設(shè)置數(shù)組下標有效性檢查

2019-11-14 10:01:08
字體:
供稿:網(wǎng)友

轉(zhuǎn):

 最早的C編譯器并不檢查下標,而最新的編譯器依然不對它進行檢查。這項任務之所以很困難,是因為下標引用可以作為任意的指針,而不僅僅是數(shù)組名。

    作用于指針的下標引用的有效性既依賴于該指針當時恰好指向什么內(nèi)容,也依賴于下標的值。結(jié)果,C的下標檢查所涉及的開銷比你開始想象的要多。編譯器必須在程序中插入指令,證實下標的結(jié)果所引用的元素和指針表達式所指向的元素屬于同一個數(shù)組。這個比較操作需要程序中所有數(shù)組的位置和長度方面的信息,這將占用一些空間。當程序運行時,這些信息必須進行更新,以反映自動和動態(tài)分配的數(shù)組,這又將占用一定的時間。因此,即使是那些提供了下標檢查的編譯器通常也會提供一些開關(guān),允許你去掉下標檢查。

    在C語言中,數(shù)組就是指針,他只保存了地址。這就造成無法檢查是否越界,但也給指針和數(shù)組的交互操作提供極大的便利性。

   C 的數(shù)組根本就是一個指針的語法trick而已。 a[3] 就是   *(a+3),而此時a 就是一個地址,當然沒有所謂邊界限制。a[3] 等效于*(a+3)等效于*(3+a) 等效于3[a];

原:http://blog.chinaunix.net/uid-24237502-id-203487.html


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产成人精品午夜在线播放 | 超碰激情 | 97精品国产| 国产精品亚洲精品日韩已方 | 欧美三级在线播放 | 超碰人人精品 | 九九热精品免费视频 | 久久婷婷色 | 欧美精品一区二区三区在线 | 午夜精品久久久久 | 色噜噜在线 | 日本在线观看网站 | 国产又色又爽又黄 | 91资源在线 | 亚洲精品久久久蜜臀 | 一级做a毛片 | 亚洲性视频 | 国产高清在线精品一区二区三区 | 日韩av一区在线观看 | 免费黄色在线观看 | 亚洲一区国产二区 | 九九九九精品九九九九 | 视频一区二区在线 | 国产乱码精品一品二品 | 久久9热 | 黄色的网站在线免费观看 | 欧美综合久久 | 国产精品成人一区二区三区夜夜夜 | 狠狠综合久久av一区二区小说 | www.成人.com | av在线一区二区三区 | 91精品久久久久久久久 | 亚洲综合精品 | 免费中文字幕日韩欧美 | 亚洲精品aaa | 天堂福利影院 | 精品一区二区三区四区 | 精品 99 | 国产精品久久久久久久久久新婚 | 国产在线观看免费av | 99久久日韩精品视频免费在线观看 |