C语言指针
1.认识&与*
&代表取地址,是对变量进行地址运算
如&a表示获取变量a的地址。
*代表指针运算符
如 *b将b当做地址,到b去取值。
注: * (&c)就表示c的值
&与*互为逆运算。
2.什么是指针变量
指针本身是一个变量,它存储的是数据在内存中的地址而不是数据本身的值。
而指针变量就是用来存储地址的变量。任何变量都有存储的地址,这个地址是随机分配的。如果a是一个变量名,&a就是a这个变量的地址。
3.声明与初始化
声明方式: 指针类型 *指针变量名
eg. int *p;
char *name;
初始化:
普通写法: int x;
int *p;
p = &x;
省略写法:int x;
int *p = &x;
特别需要注意的是:
指针变量不能直接赋值。
4.练习题目
定义一个swap函数,从主函数中向swap函数传入两个数,通过swap函数实现将两个数据交换的功能,分别输出交换前的数据值和调用swap函数交换后的数据值。