c 指针

须要注意一点,通常所说的指针实际是“指针变量”的简称,一个指针变量可以被赋予不同的指针值;而指针则是一个地址,是一个常量 
可以通过下面的方式来定义一个指向变量的指针: 
类型说明符 *变量名; 
*表示定义的是一个指针变量,变量名即为定义的指针变量名,类型说明符表示指针变量所指向变量的数据类型。 
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