C语言中对变量的访问有两种方式:
1)直接访问,通过变量名;
2)间接访问,通过地址来访问某一个变量,该变量的地址是另一个变量的内容。
事实上,程序经过编译后,对变量的访问都会变为从地址的访问。
printf("%d \n", i);
scanf("%d \n", &i); //scanf语句使用&i来访问
一个变量的地址称为该变量的指针,地址被形象的称为指针,如果一个变量专门用来存放另一变量的地址,它被称为
"指针变量",指针变量的值---是另一个变量的地址,指针变量的地址---是本身变量的地址。
定义指针变量:
类型名 *指针变量名;
int *point_1;
int *point_2 = &b; //定义时,初始化
指针变量名前的"*"表示变量为指针变量,point_1的值表示另一变量的地址,*point_1表示另一变量的值
&point_1表示该指针变量的地址
定义指针变量时,必须制定基类型,因为访问一个变量不但需要知道首地址,还需要知道访问的字节数。
&取地址运算符; *指针运算符
指针在调用指针运算符,对另一变量赋值的时候,必须先对指针的值进行初始化,否则,指针指向的地址未知,容易发生错误。
int * temp;
*temp = *p1; //容易产生错误
当指针变量作为函数参数时,它表