-1
このコードでは、ポインタの宣言方法を理解できません。ファイルI/Oコードのポインタ宣言
#include <stdio.h>
void openfile(char *, FILE **);
int main()
{
FILE *fp;
openfile("Myfile.txt",fp);
if (fp == NULL)
printf("Unable to open file..\n");
fclose(fp);
return 0;
}
void openfile(char *fn, FILE **f)
{
*f = fopen(fn,"r");
}
、私は2の警告を取得し、私はプログラム上で実行...
file.c:9:3: warning: passing argument 2 of ‘openfile’ from incompatible pointer type [enabled by default]
openfile("Myfile.txt",fp);
^
file.c:3:6: note: expected ‘struct FILE **’ but argument is of type ‘struct FILE *’
void openfile(char *, FILE **);
^
これらの警告とはどういう意味ですか?上記のコードでポインタをどのように使用しているか説明してください。
'openfile'はファイルへのポインタへのポインタを要求します。なぜファイルへのポインタを与えるのですか? – byxor