- C指针原理揭秘:基于底层实现机制
- 刘兴编著
- 728字
- 2025-02-14 20:58:50
1.2 C语言特性
2011年10月9日,丹尼斯·里奇去世,享年70岁,Java之父詹姆斯·高斯林(James Gosling)为此发表了纪念C语言之父丹尼斯·里奇的简短博文:“丹尼斯·里奇辞世的新闻如五雷轰顶,过去几天已经有很多资讯在报道此事,他的影响巨大,并超越了科技世界,虽然他的巨大影响可能不为人知,但完全可以感受到的是,C语言撑起了一切。我的整个职业生涯也是从C语言和UNIX中发展而来的。”全世界的计算机爱好者都以他们特有的方式纪念这位编程语言的重要奠基人,很多人在众多的国际交互论坛中发帖悼念C语言之父,全帖仅仅只用一个分号“;”(在C语言中,分号标志着一行指令语句的结束)形象地表达了人们的怀念之情。
C语言之父悄然离去,但C语言并没有因此衰退,近年来它仍然是世界主流的编程语言之一。在2019年3月的TIOBE编程语言排行榜中(如图1-1所示),C语言仍处于第2位,并呈现上升势头。
C语言主要有以下特性:
1)设计目标接近机器底层但不失跨平台性。C语言提供了许多低级处理的功能,可搭配汇编语言来使用,著名的C编译器GCC(UNIX下常用的是CC)保持着良好的跨平台的特性,以一个标准规格写出的C语言程序通过GCC(或CC)可在许多计算机平台上进行编译,甚至包含嵌入式环境以及大型机平台。
2)C语言编译生成的可执行文件短小精悍。C语言能以简易的方式进行编译,可直接处理低级存储器,仅产生少量的机器码,并且不需要任何运行环境的支持便能运行。
3)C语言虽简单但功能强大。C语言仅有32个保留字符,使用传统的结构化设计,变量具有作用域、递归等优秀功能,编译预处理使得编译更具弹性,传递参数灵活,可采用值传递和指针传递两种方式,不同的变量类型可用结构体(struct)组合在一起;此外,C指针很容易就能对存储器进行低级控制。

图1-1 2019年3月TIOBE编程语言排行榜