getchar_unlocked() Bahasa C dan Fungsinya
// 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;
}
Output:
Karakter yang diinput adalah g
- 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().
// 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;
}
Output:
g
- 6 Jenis Utama Operator Relasi dan 3 Jenis Operator Logika pada Bahasa C [klik]
- 6 Jenis Utama Operator Bitwise pada Bahasa C, Beserta 3 Fakta Menariknya [klik]
- 5 Fakta tentang Operator Precedence dan Asosiatifitas pada Bahasa C [klik]
- Penjelasan Singkat, Perintah Evaluasi dari Operand dalam Bahasa C [klik]
- 3 Fungsi Utama Tanda Koma pada Bahasa C dan C++ [klik]
- 2 Fungsi Utama Operator Sizeof pada Bahasa C [klik]
- 2 Cara Penggunaan Operand untuk Operator Sizeof pada Bahasa C [klik]
Apa yang dimaksud dengan getchar_unlocked() pada bahasa C?
BalasHapusgetchar_unlocked() adalah mirip dengan getchar() pada bahasa C, dengna pengecualian bahwa penggunaan dari fungsi tersebut tidak aman jika digunakan untuk thread.
HapusKarena bukan merupakan suatu fungsi yang aman untuk thread, maka semua overhead timbal balik pengecualian akan dihindari dan prosesnya akan lebih cepat daripada getchar().
Apa perbedaan antara getchar_unlocked() dan getchar() pada bahasa C?
BalasHapusperbedaan 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.
Hapusgetchar_unlocked() bekerja lebih cepat daripada getchar(), dan merupakan yang paling cepat diantara fungsi input lainnya dalam bahasa C (seperti scanf()).
Hapus