9.3 变量的指针和指向变量的指针变量-2
1.指针变量作为函数参数
指针变量作为函数参数
函数的参数,可以是指针类型。作用是将一个变量的地址传送到一个函数中去;
#include<stdio.h>
void swap(int *pdest1,int *pdest2) //2个指针变量作为形参,次数pdest1指向了a,pdest2指向了b
{
int temp;
temp = *pdest1; //*pdest1(pdest1所指向的变量),实际就是a. temp =a; temp = 5;
*pdest1 = *pdest2; //*pdest2(pdest2所指向的变量),实际就是b. temp =b; a= 6;
*pdest2 = temp; //b = 5
}
int main()
{
int a = 5,b = 6;
int *p1,*p2;
p1 = &a;//p1指向a
p2 = &b;//p2指向b
printf("a = %d,b = %d\n",a,b);
if(a < b)
{
swap(p1,p2); //2个指针变量作为实参
}
printf("a = %d,b = %d\n",a,b);
return 0;
}
//c语言中,实参变量和形参变量之间数据传递是单向的值传递,指针变量作为函数参数也要遵循这个原则;
//调用函数swap()不能改变实参指针变量的值,也就是说,p1还是指向a,p2还是指向b,但可以改变实参指针变量p1,p2所指向的变量的值。
//也就是说,在swap()函数中,改变了a,b中的值。a,b就是实参变量p1,p2所指向的变量。
int main()
{
int *p;//定义整型指针
*p = 5;//*p代表指针变量p所指向的变量。但p到底指向谁还不确定,所以*P可能会造成某个内存被无意修改,从而使系统崩溃。
return 0;
}
int main()
{
int *p;//定义整型指针
int a;
p = &a;
*p = 5;//*p代表指针变量p所指向的变量。但p到底指向谁还不确定,所以*P可能会造成某个内存被无意修改,从而使系统崩溃。
//a = 5;
return 0;
}
2.学习网站
整理至https://appd872nnyh9503.pc.xiaoe-tech.com/index的笔记