指针内容回顾
判断指针
- 判断定义的变量是
指针还是数组?(主要看[])
- 如果定义的是数组.数组名前面表示数组的类型(去掉数组的大小) 数组名后面表示的数组的大小
- 如果是指针,判断是多级指针还是一级指针(看*号的数量)
- 如果是一级指针看是基本数据的指针,还是数组指针(必须有())
- 如果是多级指针,看指向的是多级指针还是一级指针(去掉一个*号)
指针的概念
- 指针:数据类型和地址
- 概念:为了方便访问内存中内容,系统给每一个内存单元(字节)分配一个编号,该编号就称为地址,也就是指针.
- 定义:
类型 指针变量名; 类型 *指针变量名;
- 赋值方式:
- 相同类型变量的地址
- 相同类型的指针变量
- 数组名
- 字符串
- 函数名
- 指针运算符:&、*读取(写入数据时,看指针指向的类型)
- 指针的偏移:p+1 1表示一个单位。一个单位多大,看指针指向的类型
- 存储的方式:小端(低位存在低地址)和大端
练习代码
int n;
int *p=&n;
int **p1=&p;
int **p2[3] = {p1};
int m[3];
int(*p3)[3]=&m;
int* pm[3];
int* (*p4)[3]=±
int*(*p5[4])[3] = {p4};
int* (**p6[4])[3] = {&p4};