【发布时间】:2012-12-17 21:44:08
【问题描述】:
我在 main 中有一个名为 'end' 的 int。
Main 调用一个函数,该函数本身调用一个函数。
到目前为止,我可以让第一个函数通过向它发送一个地址并让它期望一个指针来操纵“结束”。但是,我无法将其发送到下一个函数,并让它操纵 main 中调用的“int”。
到目前为止,我有以下适用于一个功能;
适用于一种功能的缩写代码:
void function(int* end);
int main(void)
{
end = 0;
function(&end);
}
void function(int* end)
{
*end = 1;
// At this stage I want to call in another function, and have it be able to manipulate 'end'
}
【问题讨论】:
-
您可以对非常简单的程序执行此操作,但与 FORTRAN 不同,C 和 C++ 默认为按值传递是有原因的。否则,您可能会遇到 8 个不同的函数接触变量的情况。
标签: c function pointers memory-address