试读《征服C指针》有感

说到C,想起大二刚遇到C那时,兴奋与好奇。第一个想法就是用C去计算数学题。因为比较喜欢数学。那时只会一些数据类型,循环与条件语句,还有能看到打印hello word出来,感觉自己掌握得差不多了,挺NB的。自己也会编程了。可不久,发现并不是这么一回事,当一同学问我用什么编译器时候,回答,只有VC6.0,还能用什么呀?后来查阅了一些资料,无语,资料中出现了dev,gcc,TC,连IBMIntel都有他们各自的编译器。而编译器对适用的C标准有要求的,匆匆查阅之,知道有这回一事。今天读了《征服C指针》,明白了C诞生的必然性。

试读的第一章,讲述了C是为什么产生,怎样发展的一系列历史。任何一个事物的存在,都必然有他的合理性,作为一个新的工具C诞生了,大大超越B语言成为NB(New B),提高了Unux的开发效率,犹如生产工具诞生促使了生产力效率。为什么能这么快呢?因为C编译后更接近硬件,虽然汇编语言也这样,但汇编没有C具有的可读性。可能由于诞生的比较急,或许留了很多《C陷阱与缺陷》,便是新事物仍然很受欢迎,从K&R CANSI C,再到ISO C,也就是我们用的C99,现在明白为什么C的编程器有支持各种C的规定。最后总结一句,C是由于当时的Unux的开发需求而产生,虽然存在些许缺陷,可是经过各个标准的规范下来,直到目前来说都是TIOBE榜上数一数二的。

如果C缺少了指针,它还剩下什么?这个就像前面描述的刚刚入门那个水平一样,一些数据类型,循环与条件语句。没有指针,数组会怎样?函数怎样理解?结构体是怎样的?文件怎么读?C又是什么呢?

由第五章的例子可以看出指针的灵活性与合理性,通过很多方法去实现一个问题的解决,还很巧妙与高效地完成任务。指针是一个地址,数组在内存中存储在一块集中的区域,找到它需要提供开始的地址,好吧,这个地址就是指针的值,这个常量一般是由数组名提供,把这个数组名赋给指针变量,这个指针就指向了这些数据。可以指向了开始的位置,那么想访问第二个元素的时候,指针应该向后几个字节才能到访问下一个元素呢?这里也就遇到了第二个问题,这个指针是一个什么类型,在操作的时候就会移动几个字节数,移到需要的位置。对于结构体也就移得多一点了,因为结构体数组中每个元素比较大。扩展下,程序的函数又是怎样找到的呢?其实就是通过函数指针,像数组名那样函数名也是一个指针常量,所以也有一个东西叫做函数指针类型。指针还可以去实现很多数据结构的操作,例如链表,树等,也像试读的那例,没有了指针,怎样去实现链式,怎样去找到下一个节点的位置呀?

C除了指针就不是C了,因为它没有了灵魂。C指针实在太重要了,很期待“征服C指针“。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值