C语言中作为函数参数的指针

C语言中作为函数参数的指针,c,pointers,variables,scope,C,Pointers,Variables,Scope,我很难让它工作 我在main中启动了一些变量,我想将这些变量传递到其他函数,并且已经改变了。我知道唯一可以做到这一点的方法是使用指针或在主函数之外声明变量。 我更喜欢使用指针 怎么做的 乙二醇 我想打印11,但我不知道这些指针如何通过其他函数工作…您只需要*variable1=addvalue,它几乎是正确的…正如您刚刚向指针添加了1一样,当add()返回时,指针就消失了……您只需要*variable1=addvalue,它几乎是正确的…正如您刚刚向指针添加了1一样,它在add()返回后立即消失

我很难让它工作

我在main中启动了一些变量,我想将这些变量传递到其他函数,并且已经改变了。我知道唯一可以做到这一点的方法是使用指针或在主函数之外声明变量。 我更喜欢使用指针

怎么做的

乙二醇


我想打印11,但我不知道这些指针如何通过其他函数工作

…您只需要
*variable1=addvalue
,它几乎是正确的…正如您刚刚向指针添加了1一样,当
add()
返回时,指针就消失了…

…您只需要
*variable1=addvalue
,它几乎是正确的…正如您刚刚向指针添加了1一样,它在
add()
返回后立即消失…

您只需取消对指针的引用:

void add(int *variable1, int addValue)
{
    *variable1 += addValue;
}
在函数调用中,传入“&variable1”,表示“指向此变量的指针”。本质上,它传入主函数中variable1的确切内存位置。当您想要改变它时,您需要通过放置一个星号“*variable1+=6”来解除引用。解引用表示“现在修改存储在此指针上的int”

在函数def中使用asterix时,表示“这将是指向int的指针”。asterix用于表示两种不同的事物。希望这有帮助

哦,还要将显式类型添加到函数调用中:

void add(int *variable1, int addValue)

您只需取消对指针的引用:

void add(int *variable1, int addValue)
{
    *variable1 += addValue;
}
在函数调用中,传入“&variable1”,表示“指向此变量的指针”。本质上,它传入主函数中variable1的确切内存位置。当您想要改变它时,您需要通过放置一个星号“*variable1+=6”来解除引用。解引用表示“现在修改存储在此指针上的int”

在函数def中使用asterix时,表示“这将是指向int的指针”。asterix用于表示两种不同的事物。希望这有帮助

哦,还要将显式类型添加到函数调用中:

void add(int *variable1, int addValue)

您只是忘记取消对指针的引用:

*variable1 += addValue;
所有函数参数都必须具有显式类型

void add(int *variable1, int addValue)

您只是忘记取消对指针的引用:

*variable1 += addValue;
所有函数参数都必须具有显式类型

void add(int *variable1, int addValue)

另外,添加不能无效??如果你对此有任何想法,请添加“不能无效”??在我的主程序中,我试图使用一个指针来增加它的引用1,使用++。这显然是不合法的*值++;必须是*value=*value+1;在我的主程序中,我试图使用一个指针,使用++将它的引用增加1。这显然是不合法的*值++;必须是*value=*value+1;