Menu
CoddyTech

Penanda akhir null

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 13 dari 63.

Kamu sudah mempelajari bahwa string dalam C adalah array karakter, tetapi ada detail penting yang membuatnya berfungsi dengan benar: setiap string C harus diakhiri dengan karakter khusus yang disebut terminator null, ditulis sebagai \0.

Terminator null adalah karakter dengan nilai ASCII nol yang menandai akhir string. Tanpanya, fungsi seperti printf tidak akan tahu di mana string-mu berakhir dan akan terus membaca memori sampai secara acak menemukan byte nol, yang sering kali menghasilkan output yang tidak jelas.

char word[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
// \0 memberi tahu C: "The string ends here"

Saat kamu menginisialisasi string dengan literal seperti "Hello", C otomatis menambahkan terminator null untukmu. Namun, saat kamu menyusun string karakter demi karakter secara manual, kamu harus ingat untuk menambahkan \0 di akhir.

Terminator null inilah alasan kata 5 karakter seperti "Hello" membutuhkan array karakter dengan 6 elemen, satu ruang ekstra untuk \0. Memahami konsep ini penting karena konsep ini menjadi dasar cara semua fungsi string C menentukan awal dan akhir string.

challenge icon

Tantangan

Mudah

Tulis program C yang menunjukkan cara membuat dan menggunakan string dengan inisialisasi karakter satu per satu secara manual serta terminasi null yang benar. Programmu harus:

  1. Mendeklarasikan array karakter bernama name dengan tepat 5 elemen
  2. Menginisialisasi array name secara manual, karakter demi karakter, hingga membentuk "John" dengan terminasi null yang benar:
    • Elemen pertama: 'J'
    • Elemen kedua: 'o'
    • Elemen ketiga: 'h'
    • Elemen keempat: 'n'
    • Elemen kelima: '\0' (terminator null)
  3. Mendeklarasikan array karakter kedua bernama city dengan tepat 7 elemen
  4. Menginisialisasi array city secara manual, karakter demi karakter, hingga membentuk "Boston" dengan terminasi null yang benar:
    • Gunakan penetapan karakter satu per satu untuk 'B', 'o', 's', 't', 'o', 'n', dan '\0'
  5. Mencetak kedua string menggunakan printf dengan penentu format %s
  6. Menunjukkan apa yang terjadi tanpa terminasi null dengan membuat array karakter ketiga bernama test dengan 4 elemen
  7. Menginisialisasi test hanya dengan karakter 'A', 'B', 'C', 'D' (tanpa terminator null)
  8. Mencetak array test menggunakan %s untuk menunjukkan output yang tidak dapat diprediksi

Output kamu harus menampilkan hasil dengan format berikut:

Name: John
City: Boston
Test without null terminator: ABCD[unpredictable characters]

Tantangan ini menguji pemahamanmu tentang pembuatan string secara manual, pentingnya terminator null dalam string C, serta cara printf dengan %s bergantung pada penemuan terminator null untuk mengetahui di mana string berakhir.

Coba sendiri

#include <stdio.h>

int main() {
    // TODO: Tulis kodemu di sini
    // Deklarasikan dan inisialisasikan array karakter sesuai ketentuan
    
    // Cetak hasilnya
    
    return 0;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online