指针和数组的效率对比

本文探讨了在C语言中,使用指针和数组下标在执行效率上的差异。通过对比两个执行相同任务的循环,发现指针表达式在某些情况下可能更高效,因为它避免了运行时的乘法运算。然而,当索引值在运行时才能确定,如通过`get_value()`获取,指针和下标的效率则无明显差别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    我们知道指针表达式和下标表达式是等价的,比如:

    array[10] = 10;

    *(array + 10) = 10;

     或者有时候我们这样写:

    2[array]

    但因为它表示成指针表达式为*(2 + array) ,所以这种古怪的写法和array[2]是相等的。

    那么你应该用哪一个呢?

    很多人会选择下标表示,我想他们更多是考虑下标的可读性和容易理解,但如果从性能上讲的话,这个选择可能会影响运行时的效率。

    我们来做个实验:

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值