一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

變長(zhǎng)數(shù)組和動(dòng)態(tài)數(shù)組區(qū)別

嵌入式應(yīng)用開(kāi)發(fā) ? 來(lái)源:嵌入式應(yīng)用開(kāi)發(fā) ? 作者:嵌入式應(yīng)用開(kāi)發(fā) ? 2022-09-28 15:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

動(dòng)態(tài)數(shù)組是指在聲明時(shí),沒(méi)有確定數(shù)組大小的數(shù)組,它可以隨程序需要而重新指定大小。動(dòng)態(tài)數(shù)組的內(nèi)存空間是從堆動(dòng)態(tài)分配的,當(dāng)程序執(zhí)行到我們編寫(xiě)的分配語(yǔ)句時(shí),才為其分配存儲(chǔ)空間。

使用動(dòng)態(tài)數(shù)組的優(yōu)點(diǎn)是可以根據(jù)用戶需要,有效利用存儲(chǔ)空間。

inta[10];//靜態(tài)數(shù)組,在堆棧上創(chuàng)建

intn;
//C語(yǔ)言的malloc函數(shù)進(jìn)行書(shū)寫(xiě)
int*p=(int*)malloc(n*sizeof(int));

變長(zhǎng)數(shù)組的實(shí)際意思是以變量作為長(zhǎng)度的數(shù)組,區(qū)別于以常數(shù)作為長(zhǎng)度的數(shù)組。英文Variable-Length Array(后續(xù)都縮寫(xiě)成VLA),注意這里有一個(gè)連接號(hào)。

連接號(hào)-代表的意思是,Variable不是一個(gè)用于修飾Length的形容詞,而是一個(gè)名字名詞(即變量的意思)。

了解了正確的含義后,不難理解VLA的目的就是數(shù)組的長(zhǎng)度是由一個(gè)變量指定的,而非常數(shù)。

總結(jié):

變長(zhǎng)數(shù)組一般是在棧上分配,動(dòng)態(tài)數(shù)組一般是在堆上分配。

變長(zhǎng)數(shù)組在函數(shù)返回之后聲明周期就結(jié)束了,而動(dòng)態(tài)數(shù)組需要手動(dòng)free掉。

變長(zhǎng)數(shù)組使用多了容易棧溢出,而且它在c11里只是可選特性,和標(biāo)準(zhǔn) C++ 也不兼容,所以不建議過(guò)多使用。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語(yǔ)言中指針數(shù)組數(shù)組指針的區(qū)別

    指針和數(shù)組之間存在著緊密的關(guān)系。在本文中,我們將探討指針和數(shù)組的關(guān)系、指針?biāo)阈g(shù)和數(shù)組遍歷、多維數(shù)組與指針以及指針數(shù)組
    發(fā)表于 08-17 15:29 ?632次閱讀

    詳談數(shù)組和指針的區(qū)別與聯(lián)系

    詳談數(shù)組和指針的區(qū)別與聯(lián)系
    的頭像 發(fā)表于 06-29 15:18 ?2.3w次閱讀
    詳談<b class='flag-5'>數(shù)組</b>和指針的<b class='flag-5'>區(qū)別</b>與聯(lián)系

    指針數(shù)組數(shù)組指針的區(qū)別

    這里我們區(qū)分兩個(gè)重要的概念:指針數(shù)組數(shù)組指針。
    的頭像 發(fā)表于 06-29 15:30 ?2.1w次閱讀
    指針<b class='flag-5'>數(shù)組</b>和<b class='flag-5'>數(shù)組</b>指針的<b class='flag-5'>區(qū)別</b>

    C語(yǔ)言指針和數(shù)組區(qū)別

    在C語(yǔ)言教程中我們使用通過(guò)數(shù)組名通過(guò)偏移和指針偏移都可以遍歷數(shù)組,那么指針和數(shù)組到底有什么區(qū)別??
    的頭像 發(fā)表于 07-18 16:29 ?2287次閱讀

    二維數(shù)組數(shù)組指針以及指針數(shù)組

    二維數(shù)組數(shù)組指針以及指針數(shù)組
    的頭像 發(fā)表于 08-16 09:02 ?3171次閱讀

    unpacked數(shù)組和packed數(shù)組的主要區(qū)別

    unpacked數(shù)組和packed數(shù)組的主要區(qū)別是unpacked數(shù)組在物理存儲(chǔ)時(shí)不能保證連續(xù),而packed數(shù)組則能保證在物理上連續(xù)存儲(chǔ)。
    的頭像 發(fā)表于 10-18 09:13 ?3264次閱讀

    SystemVerilog動(dòng)態(tài)數(shù)組的大小更改展示

    需要使用" new "操作符實(shí)例化一個(gè)動(dòng)態(tài)數(shù)組,使用[]表示。在實(shí)例化過(guò)程中,會(huì)設(shè)置動(dòng)態(tài)數(shù)組的大小。
    的頭像 發(fā)表于 10-21 09:43 ?1921次閱讀

    C語(yǔ)言中的數(shù)組空間動(dòng)態(tài)開(kāi)辟

    C語(yǔ)言中的數(shù)組空間動(dòng)態(tài)開(kāi)辟 在C語(yǔ)言中,必不可少的需要使用到數(shù)組,通常為了動(dòng)態(tài)的開(kāi)辟數(shù)組空間,可以使用 malloc 函數(shù),在C++中可以使
    的頭像 發(fā)表于 02-10 12:42 ?2494次閱讀

    動(dòng)態(tài)數(shù)組和C++ std::vector詳解

    std::vector是C++的默認(rèn)動(dòng)態(tài)數(shù)組,其與array最大的區(qū)別在于vector的數(shù)組動(dòng)態(tài)的,即其大小可以在運(yùn)行時(shí)更改。std::v
    的頭像 發(fā)表于 07-19 11:07 ?1398次閱讀

    數(shù)組的定義 什么是數(shù)組

    數(shù)組 數(shù)組是內(nèi)置類(lèi)型,是一組同類(lèi)型數(shù)據(jù)的集合,它是值類(lèi)型,通過(guò)從0開(kāi)始的下標(biāo)索引訪問(wèn)元素值。 在初始化后長(zhǎng)度是固定的,無(wú)法修改其長(zhǎng)度。當(dāng)作為方法的參數(shù)傳入時(shí)將復(fù)制一份數(shù)組而不是引用同一指針。
    的頭像 發(fā)表于 10-09 09:39 ?2421次閱讀

    python列表和數(shù)組區(qū)別

    內(nèi)部實(shí)現(xiàn)、性能、操作方式等多個(gè)方面進(jìn)行詳細(xì)分析,以幫助讀者更好地理解它們之間的區(qū)別和適用場(chǎng)景。 一、內(nèi)部實(shí)現(xiàn): 列表(List): Python中的列表是一種有序的、可變的、可包含不同類(lèi)型元素的數(shù)據(jù)結(jié)構(gòu)。列表的實(shí)現(xiàn)基于動(dòng)態(tài)數(shù)組,
    的頭像 發(fā)表于 11-21 15:13 ?2974次閱讀

    數(shù)組和指針不相同嗎?數(shù)組和指針有哪些區(qū)別

    數(shù)組就是指針,指針就是數(shù)組,這樣的言論在評(píng)論區(qū)看到不下于10次。
    的頭像 發(fā)表于 12-13 16:34 ?2119次閱讀
    <b class='flag-5'>數(shù)組</b>和指針不相同嗎?<b class='flag-5'>數(shù)組</b>和指針有哪些<b class='flag-5'>區(qū)別</b>

    數(shù)組和鏈表有何區(qū)別

    數(shù)組和鏈表的區(qū)別,這個(gè)問(wèn)題,不僅面試中經(jīng)常遇到,考研的同學(xué)也得掌握才行。
    的頭像 發(fā)表于 02-19 15:33 ?901次閱讀
    <b class='flag-5'>數(shù)組</b>和鏈表有何<b class='flag-5'>區(qū)別</b>

    數(shù)組和鏈表在內(nèi)存中的區(qū)別 數(shù)組和鏈表的優(yōu)缺點(diǎn)

    數(shù)組和鏈表在內(nèi)存中的區(qū)別 數(shù)組和鏈表的優(yōu)缺點(diǎn)? 數(shù)組和鏈表是常見(jiàn)的數(shù)據(jù)結(jié)構(gòu),用于組織和存儲(chǔ)數(shù)據(jù)。它們?cè)趦?nèi)存中的存儲(chǔ)方式以及優(yōu)缺點(diǎn)方面存在一些顯著的差異。本文將詳細(xì)探討這些差異以及它們的
    的頭像 發(fā)表于 02-21 11:30 ?1539次閱讀

    指針數(shù)組和二維數(shù)組有沒(méi)有區(qū)別

    指針數(shù)組和二維數(shù)組有沒(méi)有區(qū)別?比如這樣的兩個(gè)代碼。 int main(){ char *s1[] = { "hello", "world", "total" }; char s2[][6
    的頭像 發(fā)表于 11-24 11:12 ?545次閱讀