Keyword Restrict Bahasa C Beserta Penjelasannya
Keyword restrict secara umum digunakan pada deklarasi pointer sebagai sebuah tipe kualifier untuk pointer. Keyword ini tidak menambah fungsionalitas baru pada bahasa C, dimana keyword ini hanya salah satu cara untuk programmer untuk menginformasikan tentang optimisasi yang dapat dilakukan oleh kompilator.
Jika programmer menggunakan keyword restrict dan melanggar kebijakan kondisi yang telah ditetapkan pada keyword tersebut, maka akan menghasilkan kondisi tidak terdefinisi.
Keyword restrict tidak didukung penggunaannya pada C++, melainkan hanya pada Bahasa C saja.
Contoh:
// Program Bahasa C yang
// menggunakan keyword
// restrict.
#include <stdio.h>
// Catatan: tujuan dari
// penggunaan restrict adalah
// untuk memperlihatkan
// sintak, yang tidak mengubah
// nilai output apapun atau
// logika apapun pada program,
// dan merupakan salah satu
// cara untuk programmer
// memberitahu kompilator
// tentang proses optimisasi
// pada program.
void use(int* a, int* b, int* restrict c)
{
*a += *c;
// Karena keyword 'x' adalah
// restrict, maka kompilator
// tidak akan melakukan reload
// nilai dari alamat 'c' pada
// kode assembly. Oleh karena,
// itu kode restrict yang
// dihasilkan akan
// dioptimalkan.
*b += *c;
}
int main(void)
{
int a = 50, b = 60, c = 70;
use(&a, &b, &c);
printf("%d %d %d", a, b, c);
return 0;
}
Output:120 130 70
- Union Bahasa C dan Penjelasannya
- Struct Hack Bahasa C dan Penjelasannya
- Anggota Structure, Padding, dan Data Packing Bahasa C
- Operasi Pada Variabel Struct Bahasa C
- Bit Fields Bahasa C Beserta Penjelasannya
- Anggota Array Fleksibel Struct Pada Bahasa C
- Perbedaan Antara Struct dan Union pada Bahasa C
6 komentar untuk "Keyword Restrict Bahasa C Beserta Penjelasannya"
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 -
Apa yang dimaksud dengan restrict keyword pada bahasa C?
BalasHapusDalam bahasa pemrograman C, keyword restrict merupakan suatu bentuk kata kunci yang diperkenalkan pada standard C99, yang dapat digunakan dalam proses deklarasi pointer.
HapusDengan menggunakan restrict keyword pada bahasa C, maka dapat diberikan suatu pointer yang menuju ke kompilator, yang memberikan makna bahwa tidak ada pointer lain yang akan digunakan untuk mengakses object yang sedang ditunjuknya.
HapusApa perbedaan antara volatile dan restrict pada Bahasa C?
BalasHapusPada dasarnya kedua hal tersebut tidak terlalu berlawanan satu sama lain. Namun, jika digunakan volatile pada program, maka akan diberikan suatu bentuk kendala kepada bagian pengoptimal untuk tidak melakukan proses pengoptimalan akses jauh ke suatu object.
HapusSedangkan pada restrict diberikan suatu bentuk jaminan kepada pengoptimal tentang proses aliasing, sehingga dalam arti yang lebih luar, baik untuk volatile ataupun restrict, keduanya akan bertindak secara berlawanan arah dalam hel kebebasan proses pengoptimalan program.
Hapus