永发信息网

为什么用malloc分配内存用int系统不就可以自动分配么

答案:2  悬赏:80  手机版
解决时间 2021-03-07 09:14
还用malloc(sizeof(int));;sizeof后面跟的可以直接是大小还能是别的东西比如struct student后面是这个怎么分配的内存啊。不是结构组不分配内存的么那malloc怎么开辟内存啊用什么判断。。
最佳答案
int i,声明对象,实际上也告诉编译器,你需要sizeof(int)的内存空间,这个是没问题的,但如果你要分配10个sizeof(int)长度的内存空间,就只能用数组了,比如int data[10].再如果你也不知道要一次分配多少个sizeof(int)长度,就是长度是动态的就只能用malloc( n* sizeof(int))了,这个跟C++的动态数组new int[n],是一个道理.

sizeof后面跟的是类型呀,获取类型所占的字节数,当你声明一个结构体后,实际上可以把它认为一个新的类型(谁说结构体不分配内存???),所以也可能分配n个结构体字节长度的内存:
struct student *stus = (struct student *)malloc( n* sizeof(struct student)).
前面的 (struct student *)是类型强制转换.
全部回答
第一个共占10字节,只能放2个int元素还多2字节 第二个能放10个 10*sizeof(int)和40,在32位系统下是一样的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
吉鹏缝配地址在什么地方,想过去办事
关于化学方程式4P+5O2====点燃2P2O5,四位同学
102×45简便计算
谁知道四块科技的公司地址吗?先谢谢了~
和老公异地,冷战三天了。发了两次信息都不理
中国最美的女人是谁图片
陈皮和益母草冲水饮有什么功效? 脉细无力应
在乐山开了转诊单到成都就医的医保怎样保销,
关于下列业务适用税率的说法不正确的是( )。A
黑执事第二季,执事是不是不是483了。还是不
浮梁县测绘队这个地址在什么地方,我要处理点
宝骏560,2016年新款有合资发动机吗
台湾的哪些名胜古迹和民俗风情
古哈尔地产地址在什么地方,想过去办事
是不是使用same时前面都要加the
推荐资讯
在公共建筑室内设计中,选用地毯时应注意的是
街舞教师资格证怎么考?考什么
两个主角,一个穿红色衣服,一个是蓝色(记得
为什么电信4g 满格信号开来了不久就变成3g
肝去掉一笔或加上一笔可以变成什么字
印象网吧地址好找么,我有些事要过去
甲县税务局2015年3月1日在实施税务检查中发现
美娜佳小吃地址在哪,我要去那里办事
永昌电动车摩托维修配件保养这个地址在什么地
企业进行薪酬调查时,首先要选择需要调查的()
66. When the good news that our football t
胃癌淋巴转移好发于A.左腋窝下淋巴结B.左锁骨
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?