[此篇文章並非原創若有冒犯敬請來信告知]

return與exit()的差別

同事問我:在main()裡面return,跟在main()裡面呼叫system call exit()有什麼不同? 我的觀念不算太清楚,所以整理一下網路上讀到的說法。

在main()裡面return,跟在main()裡面呼叫system call exit()是唯一兩者效果相同的地方,兩者的效果均為結束process。

若在main以外的函式裡呼叫return,local variables即從stack裡消失,返回呼叫此函式的地方。若呼叫exit,則該process就此結束、不會返回。

此外,可以使用atexit()或on_exit()註冊一個函式,結束process前,會呼叫該函式。

參考資料:
  1. difference between exit and return
  2. return statement vs exit() in main()
arrow
arrow
    全站熱搜

    ryan0988 發表在 痞客邦 留言(0) 人氣()