我在main中有一个名为'end'的int。
函数中的主调用,函数本身在函数中调用。
到目前为止,我能够让第一个函数通过向它发送地址并让它期望一个指针来操作"end"。但是,我不能将其发送到下一个函数,并让它操作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'
}
只要继续传递指针。
void function2( int *end ) {
*end += 41;
}
void function( int *end ) {
*end = 1;
function2( end );
}
请记住,在您的函数中,您已经有一个整数指针 - 确保您继续传递指针end
而不是指向指针&end
的地址:
#include <stdio.h>
void function( int *end );
void another_function( int *end );
int main( int argc, char *argv[] ) {
int end = 0;
function( &end );
printf( "end: %dn", end );
}
void function( int *end ) {
*end = 1;
another_function( end );
}
void another_function( int *end ) {
(*end)++;
}
输出: end: 2