乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      結(jié)構(gòu)體變量名本身到底代表了什么

       黃南山 2017-06-22

      問:結(jié)構(gòu)體變量名本身到底代表了什么?

       

      比如我聲明了一個結(jié)構(gòu)

      struct A

      {

          ....

      };

      然后我定義兩個結(jié)構(gòu)體變量:

      struct A aa,bb;

       

      那&aa和&&bb表示變量aa和bb在內(nèi)存區(qū)中的首址,這樣,就可以用->或.進(jìn)行操作了,比如aa.data=bb.data什么的。

      但是,單單一個aa或bb本身代表什么呢?

      如果有aa=bb;這個賦值語句,那又意味著什么呢? c中好像并沒有規(guī)定結(jié)構(gòu)體變量名代表什么吧。是memcpy(&aa,&&bb,size)嗎?個人感覺應(yīng)該是,但為什么呢?

      我分別在tc和vc上試了,確實(shí)是memcpy(&aa,&&bb,size)這種效果。

       

       

      答:

      ① int a = 1;

      a代表一塊內(nèi)存區(qū)域,其中可以保存一個int型變量;a就是這塊內(nèi)存的名字。結(jié)構(gòu)體也是一樣,aa和bb也代表一個內(nèi)存區(qū)域,其中保存了struct A類型變量,對aa賦值就是對aa所代表的全部內(nèi)存中的內(nèi)容賦值。

      &aa就是aa的地址,概念是不同的。

       

      ② 在新的編譯器下,相同類型的結(jié)構(gòu)體可以直接賦值,即A = B;

      在使用此特性前,建議測試一下你的編譯器,同時此代碼以后會不會用到其他編譯平臺。

      否則,還是memcpy(&A1,&B1,sizeof(A1));

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多