<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 怎樣在程序里獲得一個空指針

    時間:2020-11-21 14:17:27 筆試題目 我要投稿

    怎樣在程序里獲得一個空指針

      根據語言定義, 在指針上下文中的常數0 會在編譯時轉換為空指針。也就是說, 在初始化、賦值或比較的時候, 如果一邊是指針類型的值或表達式, 編譯器可以確定另一邊的常數0 為空指針并生成正確的空指針值。因此下邊的代碼段完全合法:

      char *p = 0;

      if(p != 0)

      然而, 傳入函數的參數不一定被當作指針環境, 因而編譯器可能不能識別未加修飾的0 “表示” 指針。在函數調用的`上下文中生成空指針需要明確的類型轉換,強制把0 看作指針。例如, Unix 系統調用execl 接受變長的以空指針結束的字符指針參數。它應該如下正確調用:

      execl(“/bin/sh”, “sh”, “-c”, “date”, (char *)0);

      如果省略最后一個參數的(char *) 轉換, 則編譯器無從知道這是一個空指針,從而當作一個0 傳入。(注意很多Unix 手冊在這個例子上都弄錯了。

      如果范圍內有函數原型, 則參數傳遞變為“賦值上下文”, 從而可以安全省略多數類型轉換, 因為原型告知編譯器需要指針, 使之把未加修飾的0 正確轉換為適當的指針。

    怎樣在程序里獲得一個空指針

      函數原型不能為變長參數列表中的可變參數提供類型。在函數調用時對所有的空指針進行類型轉換可能是預防可變參數和無原型函數出問題的最安全的辦法。

    【怎樣在程序里獲得一個空指針】相關文章:

    怎樣獲得Sun Java認證10-01

    常用面試題目空指針到底是什么12-13

    怎樣獲得澳洲留學的學分07-29

    怎樣用英語要求獲得某物08-18

    怎樣存款才能獲得更多利息08-18

    中級經濟師職稱怎樣獲得08-27

    在C語言中什么是指針和數組等價11-24

    怎樣煎煮中藥才能獲得好的療效08-17

    英國留學生應該怎樣獲得CAS10-11

    主站蜘蛛池模板: 亚洲国产精品第一区二区| 久久五月精品中文字幕| 久草视频精品在线| 99re这里只有精品国产精品| 亚洲精品乱码久久久久久蜜桃图片 | 国产精品拍天天在线| 欧美精品综合视频一区二区| 日本精品卡一卡2卡3卡四卡| 精品欧洲AV无码一区二区男男| 久久久无码精品亚洲日韩软件| 97视频在线精品国自产拍| 人人妻人人澡人人爽人人精品| 午夜精品久久久久成人| 精品国产91久久久久久久a| 先锋影音国产精品| 国产精品久久久久久福利69堂| 国内精品伊人久久久久AV影院| 日韩av无码久久精品免费| 中文国产成人精品久久不卡| 网友偷拍日韩精品| 老司机精品影院91| 久久久久久国产精品免费免费| 国内精品国产成人国产三级| 国产成人精品视频2021| 最新亚洲精品国自产在线观看| 久久精品成人免费看| 久久精品国产福利国产秒| 国产精品久久久久久久久| 国产精品久久久久影院色| 99热亚洲色精品国产88| 国产成人精品视频一区二区不卡| 久久久久99精品成人片直播| 人人妻人人澡人人爽精品日本 | 国亚洲欧美日韩精品| 国产精品香蕉在线观看| 国产精品麻豆入口| 国产精品午夜无码AV天美传媒| 精品国产91久久久久久久a | 国产99视频精品免费专区| 99在线热播精品免费99热| 精品亚洲永久免费精品|