Lompat ke konten Lompat ke sidebar Lompat ke footer

Compound Literals Bahasa C Beserta Penjelasannya

Pada artikel ini akan dijelaskan tentang materi Compound Literals pada Bahasa C beserta penjelasannya.


Sebelum memahami lebih dalam materi tentang Compound Literals Bahasa C Beserta Penjelasannya, terlebih dahulu pelajari materi tentang: Anonimus Union dan Struct Bahasa C dan Penjelasannya, Perbedaan Struct Bahasa C dan C++, dan Perbedaan Antara Struct dan Union pada Bahasa C.

Contoh: Perhatikan contoh berikut.

// Pastikan bahwa telah

// dilakukan proses kompilasi

// program menggunakan

// kompilator bahasa C, bukan

// kompilator C++.

#include <stdio.h>


int main()

{

// Compound literal merupakan

// sebuah array yang

// diciptakan tanpa nama dan

// alamat memori dari elemen

// pertama yang ditetapkan ke

// p, dimana hal ini senilai

// dengan: 

// int arr[] = {2,4,6}; 

// dan int *p = arr;.

int *p = (int []){2, 4, 6};

printf("%d %d %d", p[0], p[1], p[2]);


return 0;

}

Output:
2 4 6

Baca Juga:

Compound literals diperkenalkan pada standar C99 dari bahasa C. Fitur Compound literals memungkinkan untuk membuat object tanpa nama yang diberi daftar dari nilai yang diinisialisasi. Pada contoh sebelumnya, sebuah array diciptakan tanpa menyertakan nama apapun, dimana alamat dari elemen pertama array adalah penanda ke pointer p.

Fungsi Compound Literals Bahasa C

Compound literals umumnya digunakan dengan struct, yang berfungsi untuk melewatkan nilai struct variabel ke suatu fungsi. Dengan compound literals dapat dilewatkan struktur object tanpa perlu dilakukan pendefinisikan.

Contoh:

// Pastikan bahwa telah

// melakukan proses kompilasi

// program menggunakan

// kompilator bahasa C, bukan

// kompilator C++.

#include <stdio.h>


// Struc untuk

// merepresentasikan sebuah

// titik dua dimensi.

struct Point

{int x, y;};


// Fungsi utilitas untuk

// mencetak nilai titik.

void printPoint(struct Point p)

{printf("%d, %d", p.x, p.y);}


int main()

{


// Memanggil printPoint()

// tanpa menciptakan variabel

// titik sementara pada fungsi

// main().

printPoint((struct Point){2, 3});


// Catatan: jika tidak

// menggunakan compound

// literal, maka statement

// sebelumnya akan ditulis

// sebagai berikut:


//struct Point temp = {2, 3};

//printPoint(temp);


return 0;

}

Output:
2, 3

Artikel ini didedikasikan kepada: Febrian Calvin Valintino, Hidayatul Mukharomah, Kurnia Okta Lestari, Mawadatul Imtikhanah, dan Miftakhul Huda.

5 komentar untuk "Compound Literals Bahasa C Beserta Penjelasannya"

  1. Apa yang dimaksud dengan compound literal pada Bahasa C dan C++?

    BalasHapus
    Balasan
    1. Pada bahasa pemrograman C, compound literal digunakan untuk menunjuk object yang tidak disebutkan namanya dengan durasi penyimpanan statis atau penyimpanan otomatis.

      Hapus
    2. Sedangkan pada C++, compound literal digunakan untuk menunjuk object sementara yang hanya hidup sampai akhir ekspresi penuhnya digunakan pada program.

      Hapus
  2. Apa perbedaan antara literal dan konstanta pada Bahasa C?

    BalasHapus
    Balasan
    1. Literal dan konstanta pada bahasa merupakan dua yang yang dirancang secara berbeda. Dapat dikatakan bahwa istilah literal pada bahasa C merupakan singkatan dari object yang tidak disebutkan namanya yang menempati lokasi memori tertentu, sedangkan kosntanta berarti nilai yang tidak harus menempati memori pada 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 -