1、指针的定义
类型名* 变量名(&sum) = sum
2、*p
*:的意思是取这个地址的数据、值
p:是获取地址
3、指针和地址的关系
指针是用来存储地址的,而且指针变量必须先赋值在使用
4、指针变量作为函数——地址传递
特点:共享内存,双向传递
①void fun(int x, int y){
int c;
c = x;
x = y;
y = c;
printf("%d,%d,%d", x, y, c);
}
void main(){
int a, b;
scanf_s("%d,%d",&a,&b);
if (a < b){
fun(a, b);
printf("\na=%d,b=%d\n", a, b);
}
system("pause"); // 在main函数里面值是不互换的,根据实参和形参的传递
}
②void fun(int *p1, int *p2){
int c = 0;
int *p = &c; int p; //int *p要么赋初始值,要么就写成int p;
*p = *p1; p=*p1;
*p1 = *p2;
*p2 = *p; *p2=p;
}
void main(){
int a, b;
int *p1, *p2;
scanf_s("%d,%d", &a, &b);
p1 = &a;
p2 = &b;
if (a < b){
fun(p1, p2);
printf("\na=%d,b=%d\n", a, b);
}
system("pause");
}