CS 50 第11节

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是将字符输出到文件中。

发布了46 篇原创文章 · 获赞 10 · 访问量 11万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章