指针漫谈(二):指针的美

       突然在看到strlen()函数的原型的时候才意识到指针是如此之美。正是因为有了指针这个工具,才成就了C语言,举例来说:

       strlen()函数在标准库中定义的时候就是在调用函数的参数中定义了指针变量作为形参,所以在使用strlen函数的时候才会显得非常便利。简单来说,数组,字符串在传递给函数的时候不是直接将整个字符串的值复制或者是将数组的值一个个copy给函数的形参,如果反过来的话,就会耗费计算机本身的内存。但如果使用指针,函数调用的时候传递给被调函数的是一个地址,即你定义的字符串或者数组的变量名。形参列表的指针变量就和地址能一一对应起来,这样一来的话,在被调函数内部,只需要将所处理数据的地址按一定的规则作出相应的变化,指针就可以访问到字符串或者数组中的每一个元素,进而返回一个你所需要的值。我们可以想到所有字符串处理函数无非就是使用同样的道理,用不同的算法来实现我们调用函数的功能。其实也相当于被封装起来的,便于程序员使用,实质却是指针起的作用,例如strcmp(),strcat(),strcpy()都是同样的道理。

     引申到其他面向对象的语言,其实从语言本身来讲应该是用指针,只不过被封装起来了,c给了程序员足够的信任,程序员可以根据实际需求使用指针完成某些其他变量或者函数不便于完成的任务,面向对象其实就是你不需要明白函数的实现方式,只需要用它,我想这就是为什么是面向对象的原因吧。

     以上所述,或许有诸多不严谨的地方,请有识之士斧正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值