个人简单总结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

Updated: