我们看到函数的定义时,参数经常是一级指针或者二级指针;
一般来说,当函数参数为一级指针的时候:我们传递的参数是一个普通变量的地址,而不是一个一级指针变量;
即:我们定义一个普通变量,函数返回后,会给该普通变量赋值。
int value;
void foo(int *mm)
{
*mm = 2;
}
//函数调用
foo(&value);//此处并不是将一个一级指针的值传到函数中。
同理:函数形参为二级指针的时候也是一样的。
当函数参数为二级指针的时候,我们传递的参数是一个一级指针变量的地址,而不是一个二级指针变量。
int *value;
void foo(int **mm)
{
*mm = malloc(sizeof(int));
}
//函数调用
foo(&value);//此处并不是将一个二级指针的值传到函数中。
本文探讨了函数参数中一级指针和二级指针的使用。当函数接收一级指针时,实际传递的是普通变量的地址,允许函数修改该变量的值。同样,二级指针则用于传递一级指针的地址,使得函数可以改变指针本身的指向。通过示例代码,解释了如何在函数调用中正确传递这些指针。
1517

被折叠的 条评论
为什么被折叠?



