指针是C语言中最基本且很重要的概念,某种程度上可以说,指针是C语言的灵*。
然而,很不巧的是,我们公司新招聘的好多小伙伴对C语言的指针都比较陌生,猜测背后的原因,可能要拜人性中的“选择性遗忘”了。
因此,在入职C语言训练中,指针强化训练成为必不可少的步骤了,本篇文章,我们先来理一理指针的概念。
C语言中对指针的定义是保存地址的变量,我刚开始学习C语言的时候,感觉这是一个很low的概念,但栽了无数个跟头后,自己反而开始糊涂了,不知道该如何理解指针了,挺像一个汉字越看越不像的感觉,不知大家是否有同感。
后来在多年的培训实践中,我尝试了一种对比提炼法,并提出了一种新的概念,期望能帮助我们的小伙伴加深对指针的理解。
1.硬件层面的指针概念:
追根溯源,我们先来看最底层的汇编程序(直面硬件体系结构了)是如何定义数据变量的,如下arm代码片段:
value1:
DCD0x11
DCD0x22
value2:
DCB"wel