我需要创建这个函数:
void lpLoadFileFunc(int (*loadFile)(char *filename, FILE **file))
为此,我必须首先创建此函数:
int loadFile (char *filename, FILE **file))
如果加载成功,这个函数应该上传一个文件并返回。
但我不明白为什么要使用双指针。
你能帮我吗?
我需要创建这个函数:
void lpLoadFileFunc(int (*loadFile)(char *filename, FILE **file))
为此,我必须首先创建此函数:
int loadFile (char *filename, FILE **file))
如果加载成功,这个函数应该上传一个文件并返回。
但我不明白为什么要使用双指针。
你能帮我吗?
C 是按值传递。当您将变量传递给函数时,它会被复制,并且该副本的更改不会更改原始变量。但是,您可以传递变量的地址,该函数将获得指向该变量的指针,这使您能够更改它。不要忘记指针仍然是变量,如果要更改指针,则需要双指针。
void Test( int value , int* pointer )
{
value = 1 ;
*pointer = 1 ;
}
int one = 0 ;
int two = 0 ;
Test( one , &two ) ;
printf( "%d %d\n" , one , two ) ;
如您所见,one
没有改变。