FILE * 只能定义在main函数里吗
程序代码:
int open_file(FILE *fp)
{
if((fp=fopen("1.txt","wb"))==NULL)
return 0
return 1;
}
int write_file(FILE *fp)
{
if(fp==NULL)
{
printf("NO file\n");
return 0;
}
fwrite("1234",4,1,fp);
return 1;
}
int main()
{
int flag;
FILE *fp=NULL
flag=open_file(fp);
if(flag)
write_file(fp);
return 0;
}但是结果总是文件生成成功,但是里面没有内容。调试的时候发现,在open_file里面创建文件时,fp里的值是正常的,一从open_file里出来到main函数和write_file函数,fp的各项值都是
CXX0030:错误,无法计算表达式的值
不明白为什么会这样,参数是带着指针走的,赋值以后为什么出了open_file函数就无法计算了








