1.指针类型简介
1.指向变量
2.指向数组
3.指向一维数组
4.指向二维数组
5.指向函数
6.指向指针变量
2.指向变量的指针
1.指向变量的指针常量
int a,b[3],c[2][3] 定义了变量a,一维数组b,包含3个下标变量,二维数组c,包含两个一维数组,每个数组包含3个下表变量
&a,b,&b[0],&b[1],&b[2],c[0],c[1],&c[0][0]
利用上面的指针可以表示他们所指的变量或者相邻的变量
*b=1 相当于b[0]=1
*b+1=2 相当于b(1)=2
*c[0]=3 相当于c[0][0]=3
*(c[1]+2)=4 相当于c[1][2]=4
2.指向变量的指针变量
int *p1
float *p2
指向变量的指针变量,用来储存变量的地址,但是他储存的地址并不是固定不变的,他可以先存这个变量的1地址,然后再存另一个变量的地址,他所指的变量是可以换的
3.指向数组的指针
1.指向一维数组的指针常量
int a[2][3],b[2][2][3] 定义一个int型二维数组a(2*3),和一个三维数组b(2*2*3)
2.指向一维数组的指针变量
1.定义格式:
类型(*指针变量名)(元素个数)
int (*p)[5] 定义了一个指向一维数组的指针变量p,用来指向含有五个int型元素的一维数组
例如:
int a[3][5],(*p)[5]
p=a或者
int a[3][5],(*p)[5]=a
以上两种写法等价,都表示p指向一维数组a[0]
又比如:
int a[10],(*p)[10]
p=&a,表示p的值是a的地址
2.指向一维数组的指针变量的运算
对指向一维数组的指针进行+1-1操作,意味着向后或者向前跳过一个数组
3.指向一维数组的指针变量的用途
可以用来表示数组里的下表变量
int a[3][5],(*p)[5]
那么二维数组任意一个下标变量都可以用p表示
1.下标法a[i][j]
2.指针法*(*(p+i)+j)
4.指针与字符串