1.定义指针变量的一般形式
(类型名)基类型 *指针变量名 指针变量名不可使用常量代替
*p代表的时变量i,而p代表地址
一般访问访问分为直接访问和间接访问,直接访问是直接对变量赋值,间接访问是利用指针对变量进行间接赋值。
特别注意:若是使用指针操作超出了变量范围则该指针称为野指针使用则会引发系统崩溃。
2.指针学习基本:
1.通过指针变量中的值到内存空间中定位。
2.从定位处开始向后偏移sizeof(基类型)。
3.将偏移好的那部分内存空间当作是一个基类型变量来看。
牢记:int *p
p 类型为 int *(其为存入的变量地址)
*p 类型为 int (其代表为指针所指向的的那个数据)
3.对数组使用指针
对数组使用指针时,若数组为a[]={1,2,3,4,5,6,7,8,9,0},定义一个指针 int *s指向数组a,则*a指向a[0],随后对a进行加n操作即可依次指向数组的其他元素,其本质是a代表a[]的第一个元素地址对其地址进行加n操作即可使*(a+n)指向a[n],每个加1或减一操作都会使地址向前或向后改变(基本类型)的字节。
特殊注意:当&与*操作符同时出现对变量进行操作时就会抵消,最终所代表的是这个变量本身。
同时若是定义了一个空指针则代表该指针所指的内存空间无法访问。