个人简单总结C语言指针
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