指针是变量的一种,里面是一个地址,通过这个地址找到要找的数据 (实质:单元的地址就是指针内容)
变量的地址赋予指向相同类型的指针变量
把一个变量的地址赋予指向相同数据类型的指针变量
指针的赋值只有两种
int a = 3 ;
int *p = &a ;
和 int *p ;
p = &a ;
指针类型决定了指向(扫描)的内存大小
数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址
int a[10]; /*定义a为包含10个整型数据的数组*/
int *p; /*定义p为指向整型变量的指针*/
p=&a[0]; 把a[0]元素的地址赋给指针变量p
也就是说,p指向a数组的第0号元素
如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素
P的初值为&a[0] :
p+i和a+i都是a[i]的地址
*(p+i)和*(a+i)都是p+i和a+i所指向的数组元素,即a[i]