Lompat ke konten Lompat ke sidebar Lompat ke footer

getchar_unlocked() Bahasa C dan Fungsinya

getchar_unlocked() adalah sama seperti getchar() dengan exception dan tidak aman digunakan untuk thread. Perhatikan contoh kode program berikut ini.


6 Poin Penting Fungsi getchar_unlocked() pada Bahasa C
Ilustrasi getchar_unlocked() Bahasa C

Sebelum memahami lebih dalam materi tentang getchar_unlocked() Bahasa C dan Fungsinya, terlebih dahulu pelajari materi tentang: Input Data Bahasa C menggunakan Scanf dan Fscanf [klik], Input Buffer Bahasa C dan Fungsinya [klik], dan Penggunaan fflush(stdin) Bahasa C dan Fungsinya [klik].

Contoh:

// Program sederhana untuk

// mendemonstrasikan cara

// kerja dari

// getchar_unlocked() dalam

// bahasa C

#include <stdio.h>

 

int main()

{

// Sintak berikut memiliki

// kesamaan dengan getchar()

char c = getchar_unlocked();

 

printf("Karakter yang diinput"

" adalah %c", c);

 

return 0;

}

Input:
g

Output:
Karakter yang diinput adalah g

Baca Juga:

Perhatikan beberapa point penting berikut ini:
  • Karena tidak aman untuk thread, semua overhead pengecualian bersama dihindari dan lebih cepat daripada getchar().
  • Akan sangat berguna untuk pemrograman kompetitif dengan "Warning: Large I/O data, be careful with certain languages (though most should be OK if the algorithm is well designed".
  • Tidak terdapat isu dengan menggunakan getchar_unlocked() meskipun dalam lingkungan multithreaded selama thread yang digunakan dan hanya thread yang mengakses file object.
  • Perbedaan lainnya terhadap getchar(), dimana getchar_unlocked() bukan bagian dari library fungsi standar C, tetapi sebuah fungsi POSIX. Fungsi ini mungkin tidak akan bekerja pada kompilator berbasis Windows.
  • Merupakan fakta bahwa scanf() lebih cepat dari pada cin dan getchar() lebih cepat daripada scanf() secara umum. getchar_unlocked() lebih cepat daripada getchar(), sekaligus lebih cepat daripada semuanya.
  • Terdapat getc_unlocked(), putc_unlocked(), dan putchar_unlocked() merupakan versi non-thread-safe masing-masing dari getc(), putc(), dan putchar().

Contoh:

// Program sederhana untuk

// mendemonstrasikan cara

// kerja dari

// putchar_unlocked() dalam

// bahasa C

#include <stdio.h>

 

int main()

{

// Sintak bekerja sama seperti

// getchar()

char c = getchar_unlocked();

 

putchar_unlocked(c);

 

return 0;

}

Input:
g

Output:
g

5 komentar untuk "getchar_unlocked() Bahasa C dan Fungsinya"

  1. Apa yang dimaksud dengan getchar_unlocked() pada bahasa C?

    BalasHapus
    Balasan
    1. getchar_unlocked() adalah mirip dengan getchar() pada bahasa C, dengna pengecualian bahwa penggunaan dari fungsi tersebut tidak aman jika digunakan untuk thread.

      Karena bukan merupakan suatu fungsi yang aman untuk thread, maka semua overhead timbal balik pengecualian akan dihindari dan prosesnya akan lebih cepat daripada getchar().

      Hapus
  2. Apa perbedaan antara getchar_unlocked() dan getchar() pada bahasa C?

    BalasHapus
    Balasan
    1. perbedaan antara getchar_unlocked() dan getchar() adalah fungsi getchar_unlocked() bukan bagian dari library standar C, melainkan bagian dari fungsi POSIX, sehingga hal ini dapat mengakibatkan fungsi tersebut tidak dapat bekerja pada kompilator berbasis windows.

      Hapus
    2. getchar_unlocked() bekerja lebih cepat daripada getchar(), dan merupakan yang paling cepat diantara fungsi input lainnya dalam bahasa C (seperti scanf()).

      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 -