C语言指针是一种变量类型,它存储了另一个变量的内存地址。
指针变量用于存储内存地址,而普通变量用于存储具体的数据值。
&是取地址运算符,*是间接运算符。
指针的定义和使用如下:
- 定义指针变量:
数据类型 *指针变量名;
例如:
int *p;
- 为指针变量赋值:
这里&是取地址运算符,&普通变量名即取一个普通变量的内存地址,也就是说其运算结果是一个指针(可以赋给一个指针变量),指针的类型是a的类型加个*
指针变量名 = &变量名;
例如:
int a = 10;
int *p = &a;
- 使用指针访问变量的值:
*指针变量名 = 值;
例如:
int a = 10;
int *p = &a;
*p = 20; // a的值变为20
- 使用指针进行算术运算:
指针变量名 += 增量;
例如:
int a = 10;
int *p = &a;
(*p)++; // a的值变为11
- 使用指针比较两个变量的值:
if (指针变量名1 == 指针变量名2) { ... }
例如:
int a = 10;
int b = 20;
int *p1 = &a;
int *p2 = &b;
if (*p1 == *p2) { ... } // 比较a和b的值是否相等