Langsung ke konten utama

Petik Tunggal dan Ganda Array Char Bahasa C

Pada bahasa C dan C++, ketika sebuah karakter arra diinisialisasi dengan petik ganda dan array tidak ditentukan, maka kompilator secara otomatis akan mengalokasi ruang ekstra untuk terminator '\0'. Contoh, perhatikan proram berikut ini.

#include<stdio.h>

 

int main()

{

// Ukuran dari arr[] adalah 6

// karena diakhiri '\0'

char arr[] = "Dodol";

printf("%lu", sizeof(arr));

return 0;

}

Output:
6

Jika ukuran array ditentukan adalah 5 pada program sebelumnya, maka program akan bekerja tanpa memunculkan perintah warning atau error apapun, dan akan mencetak angka '5' pada bahasa C, tetapi akan menyebabkan kompilasi error jika program tersebut dijalankan pada bahasa C++.

// Program dapat bekerja pada

// bahasa C, tapi akan error

// jika dijalankan pada

// program C++

#include<stdio.h>

 

int main()

{

// arr[] tidak dimatikan

// dengan '\0' dan ukurannya

// adalah 5

char arr[5] = "Makan";

printf("%lu", sizeof(arr));

return 0;

}

Output:
5

Ketika karakter array diinisialisasi dengan tanda koma yang memisahkan list dari karakter, dan ukuran array tidak ditentukan, maka kompilator tidak akan menciptakan ruang ekstra untuk string teminator '\0'. Contoh, perhatikan program berikut.

#include<stdio.h>

 

int main()

{

// arr[] tidak dimatikan

// dengan '\0' dan ukurannya

// adalah 5.

char arr[]= {'M','a','k','a','n'};

printf("%lu", sizeof(arr));

return 0;

}

Output:
5

Komentar

  1. Apa fungsi petik tunggal pada array bahasa C?

    BalasHapus
    Balasan
    1. Pada bahas C tanda petik tunggal digunakan untuk mengidentifikasi karakter tunggal.

      Hapus
  2. Apa fungsi petik ganda atau tanda kutip array pada bahasa C?

    BalasHapus
    Balasan
    1. Tanda kutip ganda digunakan untuk literal string.

      Hapus
  3. Jika sebuah string dengan literal "X" dideklarasikan pada salah satu indeks array bahasa C, maka literal "X" tersebut menandakan bahwa tanda x adalah string, yang berisi karakter 'x' dan sebuah terminator null '\0'.

    Jadi "x" adalah array dari dua karakter.

    BalasHapus

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D