Edisi pembelajaran bahasa Indonesia. Kode dan keluarannya tetap seperti aslinya.
String dalam C
Perhatikan terminator nol, kapasitas buffer, dan fungsi string.h.

String C diakhiri byte nol. Buffer harus menampung teks sekaligus terminatornya. strlen menghitung karakter sebelum nol, tetapi tidak mengetahui kapasitas objek dengan sendirinya.
fgets menerima kapasitas dan dapat mempertahankan karakter baris baru. Saat menyalin atau menggabungkan string, periksa ruang tersisa dan terminatornya. Jangan mengubah literal string atau membaca masukan tanpa batas ke buffer berukuran tetap.
Bandingkan isi dengan strcmp, bukan alamat dengan ==. Uji string kosong, string panjang, dan spasi di dalamnya. Pemrosesan per byte belum tentu sama dengan menghitung karakter Unicode.
Kode C
#include <stdio.h>
#include <string.h>
int main(void) {
printf("=== C Strings: Declaration & Manipulation ===\n\n");
// 1. Mutable stack array
char greeting[32] = "Hello";
char name[] = "Programmer";
printf("Initial greeting: %s (Length: %zu)\n", greeting, strlen(greeting));
printf("Name: %s (Length: %zu)\n", name, strlen(name));
// 2. Safe string concatenation with snprintf
char full_message[64];
snprintf(full_message, sizeof(full_message), "%s, %s! Welcome to C.", greeting, name);
printf("Concatenated: %s\n", full_message);
// 3. In-place string mutation
greeting[0] = 'J'; // "Jello"
printf("Modified greeting: %s\n", greeting);
// 4. String comparison
char word1[] = "apple";
char word2[] = "banana";
int cmp = strcmp(word1, word2);
if (cmp < 0) {
printf("\"%s\" comes before \"%s\" alphabetically (cmp = %d)\n", word1, word2, cmp);
}
// 5. String reversal in-place
char text[] = "Online C Compiler";
size_t len = strlen(text);
for (size_t i = 0; i < len / 2; i++) {
char temp = text[i];
text[i] = text[len - 1 - i];
text[len - 1 - i] = temp;
}
printf("Reversed string: %s\n", text);
return 0;
}Buka di kompilerKeluaran yang diharapkan
=== C Strings: Declaration & Manipulation === Initial greeting: Hello (Length: 5) Name: Programmer (Length: 10) Concatenated: Hello, Programmer! Welcome to C. Modified greeting: Jello "apple" comes before "banana" alphabetically (cmp = -1) Reversed string: reliPmoC C enilnO
Pertanyaan umum
Mengapa kode dan keluarannya tetap dalam bahasa Inggris?
Kata kunci, pengenal, dan teks yang diperiksa tes dipertahankan agar program tidak berubah. Penjelasan dan kontrol telah diterjemahkan.