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

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

    • 分享

      Java中的數(shù)組和C語(yǔ)言中的數(shù)組有何異同?

       重金屬男孩 2007-06-10
      樓主:好象聽(tīng)說(shuō)是有些不一樣,請(qǐng)高手指教。
       
       
      2 樓:有一些不一樣。  
        對(duì)于原語(yǔ)類(lèi)型的數(shù)組,如int[]   a,在C里面只要這樣定義之后就可以用a[i]使用了,但是在JAVA里面是不行的,必須用int[]   a   =   new   int[LENGTH];來(lái)為數(shù)組分配空間。這里的a更應(yīng)該看成C里面的指針,它和C里面的int*   a是一樣的,因?yàn)檫@個(gè)a(C里面的)也要先malloc一個(gè)空間之后才可以用。  
        對(duì)于對(duì)象數(shù)組,則要“兩次分配”,如:  
        Object[]   obj   =   new   Object[2];  
        obj[0]   =   new   Object();  
        obj[1]   =   new   Object();  
        因?yàn)閿?shù)組首先是一個(gè)句柄,而這個(gè)句柄指向的2個(gè)空間里面又是存儲(chǔ)著兩個(gè)指向Object類(lèi)型的句柄。  
        而C里面不完全相同:  
        struct   Object{};  
        struct   Object*   obj   =   (struct   Object   *)malloc(2   *   sizeof(struct   Object));  
         
        其實(shí)他們的原理大至是相同的。只不過(guò)JAVA里數(shù)組的內(nèi)存分配是在堆里面的,必須用new   來(lái)分配,而C里面是在棧里面分配的,定義的時(shí)候會(huì)自動(dòng)分配。  
        在《Thinking   in   JAVA》中有更詳細(xì)的介紹。

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

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多