1.指针的定义
格式:变量类型 *变量名;
1: // 定义了一个指针变量p
2: // 指针变量只能存储地址
3: // 指针就一个作用:能够根据一个地址值,访问对应的存储空间
4: // 指针变量p前面的int:指针变量p只能指向int类型的数据
5:
6: int *p;
2.指向指针的指针
3.指针和数组
1)数组元素的访问方式
int ages[5];
int *p;
p = ages;
1> 数组名[下标] ages[i]
2> 指针变量名[下标] p[i]
3> *(p + i)
2)指针变量+1,地址值究竟加多少,取决于指针的类型
int * 4
char * 1
double * 8
4.指针的注意点
1
1: /* 不建议的写法, int *p只能指向int类型的数据
2: int *p;
3: double d = 10.0;
4: p = &d;*/
2
1: /* 指针变量只能存储地址
2: int *p;
3: p = 200;
4: */
3
/* 指针变量未经过初始化,不要拿来间接访问其他存储空间
int *p;
printf("%d\n", *p);
*/
4
// 定义变量时的*仅仅是一个象征,没有其他特殊含义
int *p = &a;
5
// 不正确的写法
// *p = &a;
p = &a;
6
// 这个时候的*的作用:访问指向变量p指向的存储空间
*p = 20;