C語言為什麼不做數組下標越界檢查

來源:互聯網
上載者:User

1、為了提高運行效率,不檢查數組下表越界,程式就可以跑得快。因為C語言並不是一個快速開發語言,它要求開發人員保證所有邏輯的正確性。所以至少到目前為止,C語言是所有進階語言中速度最快,效率最高的。幾乎所有對效能有苛刻要求的場合都使用C語言。

      2、不檢查下標是為了給程式員更大的空間,也為指標操作帶來更多的方便。如果有這個檢查的話指標的功能將會大大被削弱,C的數群組識別碼,裡面並沒有包含該數組長度的資訊,只包含地址資訊,所以語言本身無法檢查,只能通過編譯器檢查,而早期的C語言編譯器也不對數組越界進行檢查,只能由程式員自己檢查確保。以及在早期的CRT函數中也不對字串指標或數組進行越界檢查,都是要求程式員確保空間足夠,因此也才也才有了在VS2005之後微軟提供的安全的CRT函數版本。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.