C 在另一个函数中具有指针参数的函数?
我对C(以及一般的编码)非常陌生,所以如果这是一个愚蠢的问题,我很抱歉。我有一个函数,它接受一个整数指针作为它的参数之一,我试图从另一个函数内部调用它 例如:C 在另一个函数中具有指针参数的函数?,c,function,pointers,C,Function,Pointers,我对C(以及一般的编码)非常陌生,所以如果这是一个愚蠢的问题,我很抱歉。我有一个函数,它接受一个整数指针作为它的参数之一,我试图从另一个函数内部调用它 例如: int a; void function1(int* a) { /* Code */ } void function2(int* a) { function1(&a); } 我不知道如何调用函数,或者这是否是正确的方法。基本上,我需要函数1能够在函数2中调用“a”时更改main中“a”的值。谢谢:)函数2的参数“a”已
int a;
void function1(int* a)
{
/* Code */
}
void function2(int* a)
{
function1(&a);
}
我不知道如何调用函数,或者这是否是正确的方法。基本上,我需要函数1能够在函数2中调用“a”时更改main中“a”的值。谢谢:)函数2的参数“a”已经是一个指针,因此您应该在函数2中向函数1传递“a”,而不是“&a”。现在要做的是传递存储指针的元素的地址,而不是指针本身。但是,在main()代码中调用function2时,应该将“&a”传递给它。看起来不错。您可以尝试一下,而不是询问。您需要意识到
function1
隐藏了a
的全局范围版本,而只会看到您传入的指针。因此,如果希望function1
修改全局a
,则需要将其传递给&a
,就像在function2
中一样。不过,这个例子似乎有点做作。现在还不清楚你是否真的在问你认为你在问的问题。是的,我很抱歉这个问题不清楚,当我不知道该怎么称呼的时候,这很难。哈哈。我编辑了函数2的参数,以显示我现在拥有的内容,并且它给了我错误“从不兼容的指针类型传递参数”function1(&a)代码>-->功能1(a)代码>@IsmailBadawi:这是错误的。通过尝试和错误学习C是非常糟糕的建议。感谢您的解释:)