Lompat ke konten Lompat ke sidebar Lompat ke footer

Fungsi exit() vs Fungsi _Exit() Bahasa C

Fungsi exit() dan fungsi _Exit() pada Bahasa C adalah dua buah fungsi yang meiliki kesamaan fungsionalitas. Namun, terdapat satu perbedaan diantara kedua fungsi tersebut, yaitu performa pembersihan sebelum proses pematian program yang sedang berjalan seperti koneksi termination, buffer, dan lain sebagainya.

Fungsi exit() vs Fungsi _Exit() Bahasa C
Fungsi Exit Bahasa C

Sebelum memahami lebih dalam materi tentang Fungsi exit() vs Fungsi _Exit() Bahasa C, terlebih dahulu pelajari materi tentang: Fungsi _Noreturn Specifier Bahasa C Beserta Penjelasannya [klik], Pemanggilan Fungsi Sebelum Deklarasi pada Bahasa C [klik], dan Menampilkan Tipe Return Secara Implisit pada Bahasa C [klik].

Fungsi exit()
Pada bahasa C, proses mematikan program melalui pemanggilan fungsi exit() dilakukan tanpa eksekusi sisa kode program yang terletak setelah fungsi exit().

Baca Juga:

Sintak:
void exit(int exit_code); 
// exit_code adalah nilai yang akan dikembalikan ke bagian proses parent.

Contoh:

// Program bahasa C untuk

// ilustrasi fungsi exit().

#include <stdio.h>

#include <stdlib.h>


// Driver Code

int main(void)

{

printf("START");


exit(0);


// Program dimatikan dan baris

// kode program tidak dicetak.

printf("End of program");

}

Output:
START

Penjelasan: Pada contoh program sebelumnya, statement printf pertama dipanggil dan nilainya kemudian dicetak. Setelah itu, fungsi exit() dipanggil dan akan melakukan proses pengeluaran secepat mungkin dan tidak mencetak statement pada printf().

Fungsi _Exit()
Fungsi _Exit() pada Bahasa C memberikan proses pematian program tanpa dilakukan proses pembersihan penugasan. Contoh, fungsi ini tidak akan mengeksekusi fungsi register dengan atexit.

Sintak:
void _Exit(int exit_code); 
// Berikut adalah representasi dari exit_code dari program dapat akan menjadi 0 atau non-zero.

Return Value: Fungsi _Exit() tidak mengembalikan nilai apapun.

Contoh:

// Program untuk

// mendemonstrasikan

// penggunaan fungsi  _Exit()

#include <stdio.h>

#include <stdlib.h>


// Driver Code

int main(void)

{


int exit_code = 10;


printf("Termination using _Exit");


_Exit(exit_code);

}

Output:
Tidak ada nilai output.

Pahami perbedaan kedua jenis fungsi exit() dan _exit() melalui contoh berikut.

Contoh: Berikut program yang menggunakan fungsi exit().

// Program untuk

// memperlihatkan perbedaan

// antara fungsi exit() dan

// fungsi _Exit().

#include <bits/stdc++.h>

using namespace std;


void fun(void) { cout << "Exiting"; }


// Driver Code

int main()

{

atexit(fun);

exit(10);

}

Output:
Exiting

Penjelasan: Kode program langsung dimatikan ketika fungsi exit() dipanggil. Sekarang, ganti fungsi exit() tersebut dengan fungsi _Exit().

Contoh:

// Program untuk

// memperlihatkan perbedaan

// antara fungsi exit() dan

// fungsi _Exit().

#include <bits/stdc++.h>

using namespace std;


void fun(void) { cout << "Exiting"; }


int main()

{

atexit(fun);

_Exit(10);

}


Tidak terdapat nilai output apapun dan tidak ada nilai yang dicetak pada monitor.

6 komentar untuk "Fungsi exit() vs Fungsi _Exit() Bahasa C"

  1. Apa yang dimaksud dengan fungsi EXIT()?

    BalasHapus
    Balasan
    1. Fungsi exit() adalah fungsi yang bertugas untuk mengakhiri proses eksekusi program dan mengembalikan kontrol program ke sistem operasi atau thread yang memanggil program.

      Hapus
  2. Apakah fungsi EXIT sama dengan RETURN?

    BalasHapus
    Balasan
    1. Tidak sama, return merupakan statement yang mengembalikan kontrol aliran eksekusi ke fungsi yang berfungsi untuk melakukan pemanggilan, sedangkan fungsi EXIT berfungsi untuk mengakhiri program ketika program tersebut sedang dijalankan.

      Hapus
  3. Apakah fungsi EXIT terdapat pada bahasa C?

    BalasHapus
    Balasan
    1. Fungsi EXIT pada Bahasa C disertakan pada file header stdllib.h yang bertugas untuk membatalkan proses eksekusi program.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -