指针漫谈(二):指针的美
来源:互联网 发布:北京华信数据恢复中心 编辑:程序博客网 时间:2024/05/01 08:30
突然在看到strlen()函数的原型的时候才意识到指针是如此之美。正是因为有了指针这个工具,才成就了C语言,举例来说:
strlen()函数在标准库中定义的时候就是在调用函数的参数中定义了指针变量作为形参,所以在使用strlen函数的时候才会显得非常便利。简单来说,数组,字符串在传递给函数的时候不是直接将整个字符串的值复制或者是将数组的值一个个copy给函数的形参,如果反过来的话,就会耗费计算机本身的内存。但如果使用指针,函数调用的时候传递给被调函数的是一个地址,即你定义的字符串或者数组的变量名。形参列表的指针变量就和地址能一一对应起来,这样一来的话,在被调函数内部,只需要将所处理数据的地址按一定的规则作出相应的变化,指针就可以访问到字符串或者数组中的每一个元素,进而返回一个你所需要的值。我们可以想到所有字符串处理函数无非就是使用同样的道理,用不同的算法来实现我们调用函数的功能。其实也相当于被封装起来的,便于程序员使用,实质却是指针起的作用,例如strcmp(),strcat(),strcpy()都是同样的道理。
引申到其他面向对象的语言,其实从语言本身来讲应该是用指针,只不过被封装起来了,c给了程序员足够的信任,程序员可以根据实际需求使用指针完成某些其他变量或者函数不便于完成的任务,面向对象其实就是你不需要明白函数的实现方式,只需要用它,我想这就是为什么是面向对象的原因吧。
以上所述,或许有诸多不严谨的地方,请有识之士斧正。
0 0
- 指针漫谈(二):指针的美
- 指针漫谈(三):有关指针初始化的问题
- 指针漫谈(四):再论指针初始化的问题
- 指针漫谈
- C语言指针(二)指向指针的指针
- 漫谈C指针第十六讲---函数调用的指针写法
- 漫谈C指针第十七讲---定义函数的指针类型
- 指针(二)字符串指针
- 指针,数组转换漫谈
- 二十八、数组、指针和字符串:指针的赋值和指针运算(指针常量,常量指针)
- 对指针、引用的理解(二)【指针】
- 指针(二)字符串指针的理解与应用
- 指针的使用方法【二】
- 漫谈C指针第十三讲---指向另一指针地址的指针
- Qt之美(一):d指针/p指针详解
- Qt之美(一):d指针/p指针详解
- 指针(二)
- 指针(二)
- 1.深入理解计算机系统---计算机系统漫游
- 【noip2011提高组】 聪明的质监员 前缀和+二分
- Java Map 按key排序和按Value排序
- ThinkPHP连接数据库及主从数据库的设置教程
- Firewalld ip伪装和端口转发
- 指针漫谈(二):指针的美
- 不使用乘除、if、else、while、for, 计算1+2+...+n
- 安卓百度地图开发Release版本地图无法显示,SHA1获取方法
- 【Oracle】程序包
- 类和对象(C++)
- Java中的多线程你只要看这一篇就够了
- HDU1020_Encoding
- 关联之组合聚合
- [JZOJ4884]图的半径/[JZOJ4572]Center