这样做到底错在哪里...关于指针做函数变量的问题
#include "stdio.h "
void f(unsigned char *i)
{
FILE *fp3;
fp3 = fopen( "c:\\test2.txt ", "rb+ ");
fseek(fp3,0,SEEK_SET);
i = (unsigned char *)malloc(5);
fread(i,5,1,fp3);
}
main ()
{
FILE *fp;
unsigned char *t;
fp = fopen( "c:\\test1.txt ", "wb+ ");
f(t);
fwrite(t,5,1,fp);
exit(1);
}
在此先谢谢大哥们的关注
[解决办法]
参数传递都是值传递,函数内对形参的修改,实参是看不到的。
对于指针,也没什么特别的。
[解决办法]
#include "stdio.h "
void f(unsigned char **i)
{
FILE *fp3;
fp3 = fopen( "c:\\test2.txt ", "rb+ ");
fseek(fp3,0,SEEK_SET);
*i = (unsigned char *)malloc(5);
fread(*i,5,1,fp3);
}
main ()
{
FILE *fp;
unsigned char *t;
fp = fopen( "c:\\test1.txt ", "wb+ ");
f(&t);
fwrite(*t,5,1,fp);
exit(1);
}
[解决办法]
fwrite(*t,5,1,fp);
---
后面请释放内存
free(t);