1、定义一个基本类型指针
dataType * varName;
dataType:
能够存放的数据类型的数据地址
int
float
char
...
*:
表示这是一个指针变量
varName:
指针变量名
如:
int * p;
声明一个p指针变量,如果没有赋值,那么默认会分配一个垃圾值地址。
所以也叫定义一个指针变量。
2、怎么使用指针变量
int * p;
int i = 1;
p = &i;//指针变量只能存储地址
printf("%d",*p);// *p => 以该指针变量的内容为地址的变量
//这里就是以p的内容(i的地址)为地址的变量
3、用场
1、读写不同作用域的变量(修改实参的值)
/*
比如我们想要读写另一个函数的变量,因为作用域不同,不能直接读写,比如通过传参的方式,但是传参也就是把值赋给形参,形参也是局部变量,修改形参也只是修改自己作用域的。
所以这里我们就需要指针变量操作了。
*/
void main(){
int num = 1;
int num1 = 2;
printf("%d %d",num,num1);//1 2
add(&num,&num1);
printf("%d %d",num,num1);//2 3
}
void add(int * num, int * num1){
//此时 num 就是main中的num的地址了,num1就是main中的num1的地址了。
*num = 2;//通过*num就能读写main中的num了。
*num1 = 3;
}