main 函数中局部变量在高地址
由main调用的子函数的局部变量在低地址
heap 低地址
|
|
|
stack 高地址
stack中保存着局部变量 函数的返回地址 传入函数的形参
当一个程序结束之后,自主申请的堆上的内存会自动归还给系统
关于C上的文件操作;
int num= 20;
FILE *fp = fopen("test.txt","w");
if(fp!=NULL)
{
fprintf(fp,"%d\n",num);
}
fclose(fp);
其中if(fp!=NULL)这一句必不可少,否则如果申请写文件失败,写操作可能覆盖内存中其他重要的区域,导致段错误
其实 fprintf sprintf这些函数都是感觉和printf一样的接口,只不过产生的对象不一样。正宗的printf是打印在屏幕上的, sprintf是将字符输出在字符串里的,而fprintf是将字符输出到文件中。