为什么malloc只能分配10个字节内存空间
答案:2 悬赏:60 手机版
解决时间 2021-03-13 16:01
- 提问者网友:焚苦与心
- 2021-03-13 11:40
为什么malloc只能分配10个字节内存空间
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-03-13 13:16
:计算机中malloc()函数分配的内存是在堆上,在输入数据时,只要是该内存没有被别的程序所使用,越界输入数据就不一定会产生问题,但,这属于程序bug,不知道什么时候就会出现问题,不可预料。因此,要求编程者要严格按分配的空间进行数据输入控制
全部回答
- 1楼网友:人间朝暮
- 2021-03-13 13:23
首先,malloc和new分配内存的时候,都是随机的,你无法保证a和b是连续分配内存的。
所以直接相减值未必与你期望的相同。
其次,malloc和new可不近是开辟n个字节那么简单。
malloc仅仅用于开辟n个字节的连续空间,是c/c++标准库函数。
而new是运算符,在开辟分配内存空间的过程中还调用了相关的够着函数。
并且new的返回值是带类型信息的,而malloc的返回值仅仅是指针本身。
所以两个东西的本质是不同的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯