须要注意一点,通常所说的指针实际是“指针变量”的简称,一个指针变量可以被赋予不同的指针值;而指针则是一个地址,是一个常量
可以通过下面的方式来定义一个指向变量的指针:
类型说明符 *变量名;
*表示定义的是一个指针变量,变量名即为定义的指针变量名,类型说明符表示指针变量所指向变量的数据类型。
eg: int *zhizheng;
首先理解地址运算符“&"的作用。在C语言中用 ,
“&”加上变量名称表示变量的地址,因此&test1表示的是变量testl的地址。在程序中,有对指针进行赋值的方式:
void test2(){
char test1='A',test2='D';
char *p1=&test1;
char *p2;
lr_output_message("p1=%c",*p1);
p2=&test1;
test1 = 'U';
lr_output_message("p1=%c",*p2);
*p2 = 'B';
lr_output_message("p1=%c,p2=%c,test1=%c",*p1,*p2,test1);
test2 = *p2;
lr_output_message("test2=%c",test2);
}
结果:
p1=A
Action.c(29): p1=U
Action.c(32): p1=B,p2=B,test1=B
Action.c(36): test2=B
Action(){
int test =10;
int *p=&test;
Temp(test);
lr_output_message("test=%d",test);
Square(p);
lr_output_message("test=%d",test);
return 0;
}
void Square(int *p){
*p=(*p)*(*p);
}
void Temp(int p){
p = p*p;
}
来源:https://www.cnblogs.com/lvchengda/p/12626261.html