C语言指针基础
1、*号的理解:*号类似一把钥匙,通过这把钥匙可以打开内存,读取内存中的值。
2、传值调用与传址调用:
//传值调用
#include <stdio.h> void swap(int a, int b) { int temp; temp = a; a = b; b = temp; } int main(void) { int x = 1, y = 2; swap(x, y);//地址不同,函数结束时,栈上的记录会销毁 printf("%d %d\n", x, y);//1 2不会改变 return 0; }
//传址调用
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
int main(void)
int x = 1, y = 2;
swap(&x, &y);//地址相同
printf("%d %d\n", x, y);
return 0;
}