<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海闊天空

    I'm on my way!
    隨筆 - 17, 文章 - 69, 評論 - 21, 引用 - 0
    數(shù)據加載中……

    void 類型的指針

    指針有兩個屬性:指向變量/對象的地址
    長度
    但是指針只存儲地址,長度則取決于指針的類型
    編譯器根據指針的類型從指針指向的地址向后尋址
    指針類型不同則尋址范圍也不同,比如:
    int*從指定地址向后尋找4字節(jié)作為變量的存儲單元
    double*從指定地址向后尋找8字節(jié)作為變量的存儲單元

    1.void指針是一種特別的指針
       void *vp
      //說它特別是因為它沒有類型
      //或者說這個類型不能判斷出指向對象的長度

    2.任何指針都可以賦值給void指針
      type *p;
      vp=p;
      //不需轉換
      //只獲得變量/對象地址而不獲得大小

    3.void指針賦值給其他類型的指針時都要進行轉換
       type *p=(type*)vp;
       //轉換類型也就是獲得指向變量/對象大小
    轉:http://icoding.spaces.live.com/blog/cns!209684E38D520BA6!130.entry

    4.void指針不能復引用
      *vp//錯誤
      因為void指針只知道,指向變量/對象的起始地址
      而不知道指向變量/對象的大小(占幾個字節(jié))所以無法正確引用

    5.void指針不能參與指針運算,除非進行轉換
       (type*)vp++;
      //vp==vp+sizeof(type)



    #include<iostream>
    #include<stdlib.h>
    #include<string>
    using namespace std;
    typedef struct tag_st
    {
    char id[10];
    float fa[2];
    }ST;
    //我在程序里面這樣使用的
    int main()
    {
    ST * P=(ST *)malloc(sizeof(ST));
    strcpy(P->id,"hello!");
    P->fa[0]=1.1;
    P->fa[1]=2.1;

    ST * Q=(ST *)malloc(sizeof(ST));
    strcpy(Q->id,"world!");
    Q->fa[0]=3.1;
    Q->fa[1]=4.1;
    void ** plink=(void **)P;
    *((ST *)(plink)) = * Q; //plink要先強制轉換一下,目的是為了讓它先知道要覆蓋的大小.
                             //P的內容竟然給Q的內容覆蓋掉了.
    cout<<P->id<<" "<<P->fa[0]<<" "<<P->fa[1]<<endl;
    return 0;
    }



    轉自:http://www.cppblog.com/dragon/archive/2008/09/02/60760.aspx

    posted on 2009-08-08 17:09 石頭@ 閱讀(1960) 評論(0)  編輯  收藏 所屬分類: 語言基礎


    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av日韩片在线观看| 国国内清清草原免费视频99| 四虎永久免费地址在线网站| 亚洲乱妇熟女爽到高潮的片| 免费精品国偷自产在线在线| 精品亚洲国产成人| 在线看片人成视频免费无遮挡| 亚洲精品久久无码av片俺去也 | 精品视频免费在线| 免费a级毛片无码a∨性按摩| 小说区亚洲自拍另类| 亚洲爽爽一区二区三区| 最近免费中文字幕中文高清| 亚洲国产精品无码久久久蜜芽 | 免费看国产精品3a黄的视频| 亚洲色大情网站www| 好爽好紧好大的免费视频国产| 男性gay黄免费网站| 亚洲国产精品高清久久久| 一区二区免费视频| 成人亚洲国产va天堂| 国产乱子伦精品免费无码专区| 国产日韩AV免费无码一区二区三区| 亚洲韩国精品无码一区二区三区 | 亚洲不卡无码av中文字幕| 成人性生交大片免费看中文| 亚洲国产成人资源在线软件| 全免费A级毛片免费看网站| 一区二区三区在线观看免费| 亚洲激情在线视频| 四虎在线视频免费观看| 国产精品成人啪精品视频免费| 337p欧洲亚洲大胆艺术| 日本免费的一级v一片| 日本一区午夜艳熟免费| 日本亚洲色大成网站www久久 | 亚洲卡一卡2卡三卡4卡无卡三| 国产精品成人免费视频网站京东| 免费精品国产自产拍在线观看 | 亚洲欧洲日本在线| 成人午夜免费福利视频|