一指针的定义方法
1.1简单指针
数据类型 *指针变量名称
int p//定义了一个指针变量,为整形
在定义指针变量时,是用来修饰变量的,说明变量p是一个指针变量。
变量名是p
2关于指针的运算符
&为取地址符,
*:在定义一个指针变量时,起到标识的作用,标识定义的是一个指针变量,除此之外其他地方都表示获取一个指针变量保存地址里面的内容
eg.
int ax0000234f;
int p//在定义指针变量时代表修饰的意思,修饰p是个指针变量
p=&a;//吧a的地址给p赋值,&时是取地址符
扩展:
如果在一个行中定义多个指针变量,每个指针变量前面都需要加*来修饰
3指针大小
在32位指针系统中,所有类型的指针都是4个字节
无论什么类型的指针变量,在32位系统下,都是4字节,只能存放对应类型的的变量的地址编号
注意:
*+指针 取值,取几个字节,由指针类型决定的指针为字符指针则取一个字节,指针为
整形指针,则取4个字节
2.指针++,指向下一个对应类型的数据
字符指针++,指向下一个字符数据,指针存放的地址编号+1,
整形指针++,指向下一个整形数据,指针存放的地址编号加4
通过指针运算加取值的方法引用数组元素。
int a[0];
int *p;
p=a;
*(p+2)=100;//相当于a[2]=100
p是第零个元素的地址,p+2是a[2]这个元素的地址,
对第三个元素取值,即a[2]