CS 50第11節


main関数のローカル変数高アドレスmainによって呼び出されたサブ関数のローカル変数低アドレス
heap低アドレス||stack高アドレス
stackに局所変数関数が保存されている戻りアドレス伝達関数のパラメータ
プログラムが終了すると、自主的に申請したスタックのメモリが自動的にシステムに返されます.
C上のファイル操作について
int num= 20;
FILE *fp = fopen("test.txt","w");
if(fp!=NULL)
{
    fprintf(fp,"%d
"
,num); } fclose(fp);

if(fp!=NULL)という文は欠かせません.そうしないと、ファイルの書き込みを申請するのに失敗した場合、書き込み操作がメモリの他の重要な領域を上書きする可能性があります.セグメントエラーは、fprintf sprintfと同じインタフェースを感じますが、生成されたオブジェクトは異なります.本格的なprintfは画面に印刷され、sprintfは文字列に文字を出力し、fprintfは文字をファイルに出力します.