问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言是创建数组快还是动态分配内存快

发布网友 发布时间:2024-01-11 05:03

我来回答

4个回答

热心网友 时间:2024-01-12 11:19

动态分配内存是在堆上,直接创建数组是在栈中,虽然都是在内存,但性能还是有点区别的

栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的效率比较高。堆则是C/C++函数库提供的,它的机制是很复杂的,例如为了分配一块内存,库函数会按照一定的算法(具体的算法可以参考数据结构/操作系统)在堆内存中搜索可用的足够大小的空间,如果没有足够大小的空间(可能是由于内存碎片太多),就有可能调用系统功能去增加程序数据段的内存空间,这样就有机会分到足够大小的内存,然后进行返回。显然,堆的效率比栈要低得多。

具体到每个场合,两者体现出来的差异又会不同,跟场景复杂度也有很大的关系,栈胜在简洁,堆胜在灵活

热心网友 时间:2024-01-12 11:20

创建数组 指的是什么。
直接写 int a[xxx]; 这样吗?
那么是创建数组快。
不过一个是大小不能动态指定(C99除外),一个是小心爆栈

热心网友 时间:2024-01-12 11:20

动态分配内存是在堆上,直接创建数组是在栈中,虽然都是在内存,但性能还是有点区别的

栈是机器系统提供的数据结构,计算机会在底层对栈提供支持:分配专门的寄存器存放栈的地址,压栈出栈都有专门的指令执行,这就决定了栈的效率比较高。堆则是C/C++函数库提供的,它的机制是很复杂的,例如为了分配一块内存,库函数会按照一定的算法(具体的算法可以参考数据结构/操作系统)在堆内存中搜索可用的足够大小的空间,如果没有足够大小的空间(可能是由于内存碎片太多),就有可能调用系统功能去增加程序数据段的内存空间,这样就有机会分到足够大小的内存,然后进行返回。显然,堆的效率比栈要低得多。

具体到每个场合,两者体现出来的差异又会不同,跟场景复杂度也有很大的关系,栈胜在简洁,堆胜在灵活

热心网友 时间:2024-01-12 11:20

理论上是创建数组快一点,动态分配内存需要系统内存管理算法进行一些必要的计算。

热心网友 时间:2024-01-12 11:21

你这个问题也是有点不知道问什么?

C语言定义数组的时候,会自动为数组分配足够的内存空间。

如果定义了指针,就需要动态分配内存块,并把该内存块的首地址返回给指针。这个时候指针才能用。

所以,我真的不清楚你是问什么?

热心网友 时间:2024-01-12 11:20

创建数组 指的是什么。
直接写 int a[xxx]; 这样吗?
那么是创建数组快。
不过一个是大小不能动态指定(C99除外),一个是小心爆栈

热心网友 时间:2024-01-12 11:20

理论上是创建数组快一点,动态分配内存需要系统内存管理算法进行一些必要的计算。

热心网友 时间:2024-01-12 11:21

你这个问题也是有点不知道问什么?

C语言定义数组的时候,会自动为数组分配足够的内存空间。

如果定义了指针,就需要动态分配内存块,并把该内存块的首地址返回给指针。这个时候指针才能用。

所以,我真的不清楚你是问什么?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
与小人共事 不如一人独处 树经不住千斧 人经不住千言 大格局的个性签名 用一和不来写成语题目一()不()写成语 "层''字开头的成语 带"一( )不( )"的成语 广州有修皮手袋、皮包、皮衣的地方吗?有改皮衣的吗? 有知道济南什么地方修改皮衣比较好的吗 哪里有皮衣翻新店 诺基亚6220侧面的照相按钮是不是不能启动相机? ...6220c的拍照照相快捷键都需要很用力按吗?6220的后镜头盖都松吗?_百... 野猪肉包饺子和什么菜配馅 C语言各种数据在内存中的分配方式,分别对程序的运行效率有哪些影响... 一个号码注册了两个,怎么找回第一个? 生化多久可以同房,多久怀孕 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 一年内能改第二次吗? 别人还钱,我拿的时候没数,回来数的时候少了一张,我要跟他说吗 去另一个地球开普勒452-d要多长时间? c语言运行时 出现这种状况 是怎么回事 哪位大神帮忙解释一下 万分感谢... 从双碑到白市驿有多少公里,不走高速 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 淘宝店违规处罚,A类扣48分,屏蔽店铺28天,672小时候后删除所有评价!是什 ... 索尼RX100M5可不可以分享照片啊? ...了1000,后来有事又借了1W,但今天还我钱少还了1000肯定是忘了,我该... 男生想分手的征兆 索尼画面晃动 ...么?那样写字很好看,我是文科生,卷面漂亮好关键的。黑笔写字有些不... 佳能MP288一体机,现出现黑色字不清楚,断线,线条不直等问题,清洗和深度... 请问斯柯达明锐下面的1.6手自一体的车型里,逸杰、逸俊、逸致都有什么... 天龙八部挖图怎样才能挖到好书、知道的请告知下! 羊肉饺子馅配什么菜最佳 六年级学生中女生占7/12,后来转来15名女生,这样女生占全班人数的3/5... 德布罗意波长公式??? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 指名道姓的辱骂罪有什么惩罚? 索尼RX100M6防抖效果如何? 索尼RX100M6的防抖效果如何? 自驾车白市驿怎么到双碑大桥 ...Kepler-22b)星球,以现在的飞行速度要多长时间才能到达? 耳机插在机箱后面放歌有声音的,但是QQ没有声音,耳机插在前面都有了... 《封神演义》太乙真人为何如此溺爱哪吒? 注销了游戏号也会注销吗 索尼RX100M5有蓝牙或者wifi,可以将照片直接传到手机上吗?_百度知 ... 一年内怎么改第二次 索尼RX100M6在拍摄时防抖效果好吗? 索尼RX100M6的防抖效果如何? 印刷机械,主要是要学习那几个点? 湖南跑得快16张技巧 ...一下佳能mp288打印机,对齐打印头几次后再加清洗,横线还是不直线。请... 桉树能不能禁止种植