上两篇文章给大家介绍了一下内存的概念和内存管理,打下了这些基础之后今天给大家来讲讲指针的基本知识。
指针是C语言的精髓同时也是学习者的“噩梦”,在实际嵌入式开发当中每一天都会和指针打交道。其实指针也只是一个变量而已,只不过这个变量用来存储的是一个地址。
C语言指针的基本知识指针的定义:
指针的赋值:
指针的引用:
指针的尺寸:
顾名思义,野指针就是比较“野”的一种指针。是指向一个不确定的内存的指针,这种指针对我们系统而言是非常危险的。
危害:
产生原因:
如何解决:
空指针是一个保存了零地址的一个指针,也就零地址指针。
在某一些情况下我们定义了一个指针但是暂时不知道该指向哪里,想等待后面的程序运行时候再分配地址,又不想让野指针出现危害系统的安全,可以让该指针先指向一个相对安全的位置。一般会让它指向0x000000000 这个地址。
指针运算:
指针的运算就是在当前指针的地址上增加或减小N个字节,只能加减,乘除没有意义。
指针的加法: p 1 则表示在p目前指向地址值上增加1个单位(指针的类型)
指针的减法: p-1 则表示在p目前指向地址值上下减1个单位(指针的类型)
好了,今天给大家梳理了一遍指针的基本知识,下一篇会带着大家剖析指针与数组之间的爱恨情仇。
我是森哥,后面会继续给大家分享嵌入式和C语言知识,喜欢的朋友和嵌入式学习者可以关注我一起进步!
,