指针有什么用?
场景A
通过函数交换两个变量的值
eg. 交换变量a,b的值
int swap(int *a, int *b){
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
}
场景B
返回结果有多个,或return返回状态,指针返回结果
int divide(int a,int b,float *res){
int ret = 1;
if(b != 0){
*res = (float)a/b;
}else{
ret = 0;
}
return ret;
}
指针最常见的错误
定义了指针变量,但是没有指向任何变量,就开始使用。
int main(){
int *p;
*p = 12;
printf("%d",*p);
return 0;
}