String sebagai array char
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 12 dari 63.
Dalam C, tidak ada tipe data string bawaan seperti yang mungkin kamu temukan di bahasa pemrograman lain. Sebaliknya, string direpresentasikan sebagai array karakter. Konsep dasar ini penting untuk memahami cara teks ditangani dalam pemrograman C.
string dalam C hanyalah urutan karakter yang disimpan di lokasi memori yang berurutan. Untuk membuat string, kamu mendeklarasikan array karakter yang cukup besar untuk menampung semua karakter yang kamu perlukan, ditambah satu ruang ekstra untuk karakter pengakhir khusus.
char greeting[6]; // Dapat menampung 5 karakter + terminator
char message[20]; // Dapat menampung hingga 19 karakter + terminatorCara paling praktis untuk menggunakan string adalah menginisialisasinya langsung dengan literal string saat kamu mendeklarasikan array. C menangani detail penyimpanan setiap karakter dalam array secara otomatis:
char greeting[6] = "Hello";
// Ini menyimpan: 'H', 'e', 'l', 'l', 'o', serta penanda akhir khususKamu juga bisa membiarkan C menentukan ukuran array secara otomatis dengan menghilangkan spesifikasi ukuran saat menginisialisasi dengan string literal:
char greeting[] = "Hello"; // C secara otomatis menetapkan ukurannya menjadi 6Memahami bahwa string adalah array karakter sangat penting karena hal ini menjelaskan cara C menangani data teks dan mempersiapkanmu untuk menggunakan fungsi manipulasi string yang bekerja pada array karakter ini.
Tantangan
MudahTulis program C yang menunjukkan cara membuat dan menggunakan array karakter untuk menyimpan string. Programmu harus:
- Mendeklarasikan array karakter bernama
greetingdengan ruang yang cukup untuk menyimpan string "Hello" (ingat untuk menyediakan ruang bagi terminator null) - Menginisialisasi array
greetingdengan string literal "Hello" - Mendeklarasikan array karakter kedua bernama
messagedengan 20 elemen - Menginisialisasi array
messagedengan string literal "Welcome" - Mendeklarasikan array karakter ketiga bernama
wordtanpa menentukan ukurannya, dan membiarkan C menentukan ukuran secara otomatis dengan menginisialisasinya menggunakan "Programming" - Mencetak ketiga string menggunakan
printfdengan penentu format%s - Mencetak ukuran setiap array menggunakan
sizeofuntuk menunjukkan jumlah memori yang digunakan setiap array karakter
Output-mu harus menampilkan hasil dalam format berikut:
greeting: Hello
message: Welcome
word: Programming
Size of greeting: 6
Size of message: 20
Size of word: 12Tantangan ini menguji pemahamanmu tentang cara mendeklarasikan array karakter untuk menyimpan string, cara string literal secara otomatis diakhiri dengan null saat ditetapkan ke array karakter, dan cara C menghitung ukuran array secara otomatis saat kamu tidak mencantumkan spesifikasi ukuran selama inisialisasi.
Coba sendiri
#include <stdio.h>
int main() {
// TODO: Tulis kodemu di sini
// Deklarasikan dan inisialisasikan array karakter sesuai ketentuan dalam tantangan
// Cetak string beserta ukurannya
printf("greeting: %s\n", greeting);
printf("message: %s\n", message);
printf("word: %s\n", word);
printf("Size of greeting: %lu\n", sizeof(greeting));
printf("Size of message: %lu\n", sizeof(message));
printf("Size of word: %lu\n", sizeof(word));
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Dasar-Dasar Pointer
Apa Itu Pointer?Mendeklarasikan PointerOperator Address-Of (&)Operator Dereference (*)Pointer NULLRekap: Dasar-Dasar Pointer4Proyek: Utilitas Teks Sederhana
Gambaran Umum ProyekMenghitung Karakter2Pointer dan array
Nama array sebagai pointerElemen array dan pointerAritmetika pointerMembandingkan pointerRangkuman: Menelusuri array dengan pointer5Pointer dan Fungsi
Penerusan dengan NilaiMeneruskan Pointer ke FungsiMengubah Variabel melalui PointerContoh Klasik: SwapMeneruskan Array ke FungsiRingkasan: Argumen Pointer Fungsi8Struct dan Pointer
Pointer ke StructOperator Panah (->)Mengirim Struct berdasarkan NilaiMengirim Pointer StructAlokasi Dinamis StructUlasan: Memodifikasi Struct dengan Pointer11Tantangan Rangkuman Akhir
Rangkuman: Penggabungan string DinamisRangkuman: array berisi structRangkuman: Penghitung Frekuensi Kata3Array char dan String
String sebagai array charPenanda akhir nullInput String dengan scanfMenggunakan strlen()Menggunakan strcpy()Menggunakan strcat()Menggunakan strcmp()Ulasan: Fungsi String DasarLatihan sendiri: Compiler C online