1.指针的意义
地址:编号–相当于编号
C语言中:0x1000 0000 – 整型
定义了一种新的类型:指针 – 保存的是地址
2.指针类型的表示
: 类型 *
类型:指向空间的类型
*指针符
int * – 指向的空间为int
char * – 指向的空间为char
float * double * 等等
类型的大小:sizeof(类型) – 4个字节 — 保存该类型空间的首地址。不和类型有关。
3.指针变量的定义
变量的定义:
类型 标识符(=初始化);
指针变量的定义:
指针类型 标识符(=初始化);
例如:定义一个指向整型空间的指针变量,名称叫pnum;
int *pnum; — 野指针
指针变量不使用时,赋初值为??? — NULL – 空指针。
int *pnum = NULL;
4. *指针变量名和指针变量名的区别
char ch = 'a';
char *pch = &ch; --- pch 指向ch;
通过pch操作ch空间。
如何在C语言中表示ch开辟的空间?
ch – 变量名。
*pch – *指针变量名。 + * – 寻址一次。把pch中的数据当做地址,去寻找这个空间。
pch – 指针变量的空间。
指针变量名:指针变量开辟的空间 – 保存的数据的意义是地址。
*指针变量名:寻址 – 指向一个变量的空间。
5.指针变量与普通变量之间的关系
一个指针变量指向一个普通类型变量的空间
int *pnum = NULL;
int num = 7;
pnum = #//&取地址符
指针变量与一个普通变量之间的关系
int *pnum =NULL;
int num =100;
pnum =#
*pnum = 1000;
printf("num = %d\n",num); ---1000