指针的基本概念
变量与内存单元之间的三种对应关系
变量--------内存单元
变量名字–存储单元地址
变量值-----存储单元中存储的内容
区分指针和指针变量
指针:一个变量的地址(常量)
指针变量:一种特殊的变量,专门存放另一个变量地址的变量,指针变 量的值为一个地址(变量)
指针变量
运算符 * 和&
对于整型变量i、指针变量i_pointer
i_pointer = &i = &(i_pointer)
i = i_pointer = * (&i)
定义指针变量
形式:类型名*指针变量名
例:int *p1,p2; ( * 是指针说明符,不是运算符)
注:int p;(指针变量名是p)
!!!先赋值再使用
指针变量赋值
1.使用地址运算符
例:
int a,b,*p1,*p2;
p1=&a;
p2=&b;
2.使用相同类型的指针变量赋值
int a,* p1,* p2;
p1=&a;
p2=p1;
3.将数组的首地址赋给指针变量
int a[10],*p1;
p=a;
4.如果一个指针变量p指向c,则*p可以出现在c可以出现的任意地方
y=*p+5;
通过指针变量引用数组
1、指针变量指向某个数组元素
int a[10]={1,3,6,0};
int*p;
p=a;//等价于p=&a[0];
2、指针指向数组时,指针的运算
数组元素4种表示方式:*(a+i)= a[i] = p[i] = *(p+i)