你管这破玩意叫指针?( 六 )


int * p;
赋值或初始化一个指针:
p = &a;
修改指针的内容:
*p = 999;
指针的加减(其实到后面讲的数组才有价值):
p = p + 1;
完事,就这些!
最后,给大家推荐两个网站 。
一个是可以将 C 语言代码实时编译成汇编代码,你可以用它来自己玩指针做实验,看它最终到 CPU 指令层面是什么样 。
https://godbolt.org

你管这破玩意叫指针?

文章插图
 
一个是 GNU C 手册,里面对各种语法和作用讲述的非常清楚,不要再用百度搜博客了 。
https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html
比如讲类型系统里的整型类型:
你管这破玩意叫指针?

文章插图
 
再比如讲指针的定义和初始化:
你管这破玩意叫指针?

文章插图
 
我相信本文看下来,一定有人想问,short * p 是不是应该写成:
short *p
或者
short* p
自己去上面的文档里找答案即可 。
OK,本文到这里就终于要结束了,在接下来的进阶篇里,我会讲述二级指针、数组、函数指针、字符串、结构体、结构体数组与指针等内容 。
虽然说是进阶篇,但我认为,指针的本质反而是进阶,而指针的进阶反而是基础 。
因为假如理解了上述的一切,下面的所谓指针进阶玩法,都可以通过指针的本质以及语言设计的合理性,推导出来,再往后无非是需要花时间熟练使用和掌握罢了 。
所以,理解好今天的内容,非常重要!
 
来源:https://mp.weixin.qq.com/s/GVssqBoHWsOsRKTHXZR1lA 作者:低并发编程




推荐阅读