Minggu, Mei 03, 2020

Operator # dan ## pada bahasa C

Operator ukuran string (#)
Operator ini membuat argumen aktual yang sesuai dilampirkan dalam tanda kutip ganda. Operator '#' umumnya disebut dengan operator stringize, yang mengubah argumen yang mendahuluinya menjadi string kutip. 

Contoh: 
satu, preprosesor berikut ini mengubah baris printf(mkstr(geeksforgeeks)); menjadi printf("geeksforgeeks");

Output:
geeksforgeeks

dua, Pada program ini, nilai dari 'a' diganti oleh makro.

Output:
Value of a is 8.3297

tiga, Program berikut ini menemukan nilai maksimal dari dua angka menggunakan makro.

Output:
The maximum is 250

Operator paste token
Memungkinkan token menggunakan argumen aktual untuk digabungkan guna membentuk token yang baru. Operator ini berguna untuk menggabungkan dua token menjadi satu token baru sambil memperluas makro. Operator '##' digunakan untuk operator paste token. Ketika makro diperluas, maka dua token yang terletak diantara operator '##' akan dikombinasi menjadi satu token, yang kemudian akan mengganti '##' dan dua token asli pada makro yang diperluas.

Contoh:
satu, Preprosesor mentransformasi printf("%d,concat(x,y)"); menjadi printf ("%d", xy);.

Output:
30

Penerapan: Operator ## menyediakan jalan untuk menggabungkan argumen aktual selama perluasan makro. Jika sebuah parameter pada teks yang diganti didekatkan dengan operator '##', maka parameter akan diganti oleh argumen aktual, dan operator '##' yang mengelilinginya akan dihilangkan, dan hasilnya akan dibaca ulang.





Related Posts

Operator # dan ## pada bahasa C
Oleh

"semoga yang memberikan komentar diberikan berkah kebaikan dari Allah, dijauhkan dari kejahatan, dan diberikan pahala ilmu dan amal jariyah dari sepenggal kata yang ia tinggalkan amiin :) "