C语言中指针变量传参

#include<stdio.h>

void f1(int a){
    a++;
    printf("a is:%d\n",a);
    
}
void f2(int *p){
    (*p)++;
    printf("*p is:%d\n",*p);
    
}
int main(){
    /*  demo1
    int a = 1;
    int* p = &a;
    printf("first:%d\n",*p);
    f2(p);
    printf("second:%d\n",*p);
    */
    
    /* demo2  */
    int b = 1;
    printf("first:%d\n",b);
    f1(b);
    printf("second:%d\n",b);
    
    
    return 1;
}
demo1结果:
first:1
*p is:2
second:2

demo2结果:
first:1
a is:2
second:1

结论:当指针变量作为参数进行传参操作时,方法内部对变量进行操作,同时

也会影响传入的指针变量的值,因为他们指向的是同一块存储空间的数据

可参考图:

C语言中指针变量传参