字符指针 和 字符串 效率的 研究

本文探讨了字符指针和字符串在效率上的差异。指针占用4个字节,不检查越界,而字符串常量存储在内存中,只返回首地址。字符数组在初始化时需要拷贝所有字符,效率较低。系统回收内存时,指针处理简单,数组则不然。尽管指针使用风险较高,但其效率优于数组。注意,字符串常量不应使用`delete`释放。作者建议使用指针并欢迎反馈。
摘要由CSDN通过智能技术生成

字符指针和字符串效率的研究:

 

我定义一个字符指针

 

char *pCH;

 

我在定义个字符数组

 

char a[20];

 

 

我都让它们初始化

 

 

char *pCH = "ni hao zhong guo!";

char a[]     = "ni hao zhong guo!";

 

我当时在想它们的效率到底哪个高?为什么呢?原因如下

 

1 对于任何一个指针,它是4个字节,而数组要看你数组的长度

 

2 对于数组而言要检查你有没有越界,指针不要

 

3 对于字符串,它是常量被保存在内存当中,对于pch而言,字符串只返回字符串的首地址,pch就指向了改字符串的首地址

                                                            对于字符数组,它要把每个值都拷贝到字符数组当中,你想你要是有10000个长度的字符,那你就要拷贝10000次,那效率就肯定下降了

 

4 当系统要收回内存时,指针就相当于一个普通的变量,而数组要进行特殊的处理

 

注意:对于字符指针,不要调用delete来释放指针所指向的空间(字符串常量),因为字符串常量 不能使用delete来释放,一定要记住,在我们调用new之后,才调用delete。

 

请使用指针吧!虽然,指针没有数组特别安全,不过它的效率比数组高很多啊!!!

 

 

 

这是我自己总结的,希望大家能够给点意见,谢谢!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值