0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan2 halaman

Perbedaan char[] dan char* dalam C

Dokumen ini menjelaskan perbedaan antara char[] dan char* dalam Bahasa C, di mana char[] digunakan untuk menyimpan string yang dapat dimodifikasi, sedangkan char* menunjuk ke string literal yang tidak dapat dimodifikasi. Selain itu, dokumen ini juga memberikan penjelasan lengkap tentang array, termasuk deklarasi, inisialisasi, akses, dan batasan array. Memahami perbedaan ini penting untuk menghindari bug dan error dalam pengelolaan string dan memori.

Diunggah oleh

Ardian Majid
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan2 halaman

Perbedaan char[] dan char* dalam C

Dokumen ini menjelaskan perbedaan antara char[] dan char* dalam Bahasa C, di mana char[] digunakan untuk menyimpan string yang dapat dimodifikasi, sedangkan char* menunjuk ke string literal yang tidak dapat dimodifikasi. Selain itu, dokumen ini juga memberikan penjelasan lengkap tentang array, termasuk deklarasi, inisialisasi, akses, dan batasan array. Memahami perbedaan ini penting untuk menghindari bug dan error dalam pengelolaan string dan memori.

Diunggah oleh

Ardian Majid
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Materi: Perbedaan antara char[] dan char* dalam Bahasa C + Materi Lengkap tentang Array

1. Perbedaan char[] vs char* dalam Bahasa C

A. char[] (Array Karakter)

• Digunakan untuk menyimpan salinan string.

• Memori disediakan di stack lokal.

• String bisa dimodifikasi (mutable).

Contoh:

char nama[] = "hanipah";

nama[0] = 'H'; // Boleh, karena ini array

B. char* (Pointer ke String Literal)

• Menunjuk ke alamat string literal yang biasanya disimpan di read-only memory.

• Tidak boleh dimodifikasi (immutable).

Contoh:

char *nama = "hanipah";

nama[0] = 'H'; // Error atau crash, karena pointer menunjuk ke string literal

C. Kenapa Ini Error:

bool a = true;

char kenapa[] = a ? "hanipah" : "ardian"; // Error!

• Ternary operator a ? "hanipah" : "ardian" hasilnya char* (pointer)

• char[] tidak bisa langsung diinisialisasi dari ekspresi char*

Solusi:
Gunakan salah satu:

char *kenapa = a ? "hanipah" : "ardian"; //

Atau jika tetap ingin char[], gunakan strcpy():

char kenapa[20];

strcpy(kenapa, a ? "hanipah" : "ardian"); //

2. Materi Lengkap tentang Array dalam Bahasa C

A. Apa Itu Array?

• Array adalah kumpulan variabel bertipe sama yang disimpan secara berurutan dalam
memori.
• Indeks array dimulai dari 0.

B. Deklarasi dan Inisialisasi

int angka[5]; // Deklarasi array 5 elemen

int nilai[] = {10, 20, 30}; // Inisialisasi otomatis 3 elemen

C. Mengakses dan Mengubah Nilai

angka[0] = 1;

printf("%d", angka[0]); // Output: 1

D. Perulangan dengan Array

for (int i = 0; i < 3; i++) {

printf("%d ", nilai[i]);

E. Array Karakter (String)

char teks[] = "Halo"; // Inisialisasi dengan string

char teks2[] = {'H','a','l','o','\0'}; // Sama saja

F. Fungsi Array

• Gunakan strlen(), strcpy(), strcmp(), dll untuk array karakter (string)

G. Batasan Array

• Ukuran harus tetap (fixed size)

• Tidak bisa bertambah dinamis tanpa alokasi memori (pakai pointer + malloc jika ingin
fleksibel)

Kesimpulan:

• Gunakan char[] jika ingin memodifikasi string.

• Gunakan char* jika hanya butuh membaca string literal.

• Array penting dalam pengolahan data berurutan dan digunakan dengan indeks.

Jika kamu membuat aplikasi berbasis C, memahami perbedaan char[] dan char* sangat penting
untuk menghindari bug dan error dalam pengelolaan string dan memori.

Anda mungkin juga menyukai