C语言是使用得最多的编程语言。当用C语言来构造数据结构时,在C语言语句和数据结构在内存中的表示之间有一个直接的映射存在。由于C语言的这种简单语法和直接映射,C语言成为了一种展示数据结构本质的理想语言。然而,学习C语言的时候,我们不得不面对两个在学习其他语言不需要考虑的挑战。

挑战 1: 指针。理解指针要求进行培训和练习,以建立将指针语法从思维方式转换为点对图的能力,这对于掌握C代码的语义至关重要。

挑战 2: C语言的内存模型。没有由其运行时系统明确执行,并且经验不足的编程人员经常编写违反内存模型并导致隐式分段错误或不确定行为的代码。 两者都是造成学习C语言挫折感的主要原因。