指针就是地址
指针作为函数的参数,目的:将地址传入函数
例:函数:使用指针交换两个整型变量的值
传入函数的是变量的地址,不是变量中存储的值
void swapValue(int*p1, int *p2);
void swapValue(int*p1, int *p2){
// p1指向第一个变量, p2指向第二个变量
int temp = *p1;
*p1 = *p2;
*p2 = temp;
printf("p1 = %d, p2 = %d\n", *p1,*p2);
}
//遍历整型数组
void printArray(inta[], int count);
void printArray(int*a, int count);
参数1:是指针类型的参数,为了接收数组首元素的地址。在函数内部要操作函数外部定义的数组。
参数2:整型的参数,为了接收数组元素的个数,在函数内部只是需要参数,不需要修改。
void printArray(int*a, int count){
for (int i = 0; i < count; i++) {
printf("%d ", a[i]);
}
}
int main(int argc,const char * argv[]) {
int x = 10;
int y = 20;
swapValue(&x,&y);//实现函数外面x、y值的交换。
printf("x = %d,y = %d\n", x, y);
结论:在函数内部操作/修改函数外部的变量使用指针参数。