首先说一下指针的概念吧。在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑储存器中另一个地方的值。由于通过地址能找到所需的量单元,可以说地址指向该变量单元。因此,将地址形象化的称为“指针”,意思是通过它能找到以它为地址的内存单元。
通俗一点来讲就是当你使用int char float 向电脑申请空间时。使用相同类型的指针变量来创建一个指针变量,给这个指针变量赋予int 取的变量的地址,如 int a=0 int* pc=&a 这个pc就是a所在的地址,我们可以听过pc来对a来进行改变,加或者减。但不能够直接进行调用这时就会用到我们的解引用的操作符“*”,接上面所说*pc=10这时a就变为了10。这就是指针简单的一些作用。
那么指针有什么特点呢
1:指针是用来存放地址的,地址是唯一标示一块地址空间的。
2:指针在32位平台上是4个字节,在64位平台上是8个字节。
这也就是说无论是sizeof(double) sizeof(int)sizeof(char)的值全部都是4。
3:指针类型觉定了指针进行分解引用的时候,能够访问空间的大小。
4:指针类型决定了指针走一步走多远(指针的步长)
指针的类型决定的是类型访问空间的大小,例如int a=0 char*pc=&a则这时听过编译器查看,通过解引用对a进行操作则只会操作一个字节,其他字节并不会改变。
而进行指针加法的话也只能走指针类型相对应的步数char为1,int为4,double为8。
关于野指针下一篇再介绍。