关于内存

指针与数组

虽然数组名是指向数组首地址的指针,但指针和数组的区别就是,创建数组时,会分配好一定大小的空间,然后数组名指针指向该片空间,而创建指针
时并不会分配空间

例 char* s=“hello”;
是使得指针s指向常量区的hello字符串,此时若修改该字符串,则会产生错误。因为常量区内存不可修改
而 char s[]=‘hello’;则会分配一块内存,并修改内存内容为“hello”,s指针不指向常量区,因此可以修改。

malloc realloc free
动态内存分配了使用完后一定要free
特别是在循环里面多次分配内存时,如果下一轮开始前不free掉,那么多轮循环后会占用大量空间。

realloc可扩展原来分配的内存,保留原有数据不变(除非新空间小于原有空间)

分配内存耗时较多,一次分配太大可能内存超过限制,但若不断realloc会耗费大量时间导致超时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值