指针和数组

指针和数组的区别,大致有以下几点:

1、从空间分配来说:数组是静态分配,指针是动态分配。

2、从访问效率来说:数组是直接访问,指针是间接访问,数组效率要高一点。

3、从安全性来说:数组容易造成越界,而指针会出现野指针造成的内存泄漏。相比之下数组更为安全一点。

4、从函数形参来说:越界传指针用指针的指针,传两位及以上数组用的是数组指针。

5、从处理对象来说:指针偏向于计算机地址的处理,而数组偏向于值的处理。

6、从空间连续性来说:指针分配空间不一定是连续的,而数组对一个的空间一定是里连续的。


从上面列举的区别看来,数组似乎比指针优点更多一点,既然功能相似,数组又似乎略胜一筹,可是为什么还是会用到指针呢?


指针也是有优点的,而且C语言的特点就是体现在指针上:

1、指针可以直接对硬件进行操作访问,

2、数组的静态分配是比较占内存的,动态分配更为灵活,解决了空间分配利用率的问题。
3、指针访问更为灵活,相较于数组,但是由于它过于灵活,往往不注意就会造成内存泄漏。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值