CodeBlanks Logo Icon CodeBlanks

String temelleri

  • C kursu
  • Başlangıç
  • Ders 59/116
  • 4 dk

char dizi ve null terminator ile C dizesini öğrenirsin.

Dize aslında char dizisidir

C'de ayrı bir string türü yoktur. Dize, sonunda null karakter ('\0') bulunan bir char dizisidir. Bu karakter, dizenin nerede bittiğini fonksiyonlara bildirir.

char name[5] = {'A', 'l', 'i', '\0'};
printf("%s", name);  /* Ali yazar */

Dizi 4 harfe ayrılmış olsa da '\0' yer kaplar; bu yüzden 3 harfli bir isim için 4 elemanlı dizi gerekir. %s biçim belirteci, '\0''a kadar olan karakterleri yazdırır.

%s ile dize yazdırmak

printf fonksiyonu, %s biçim belirteciyle bir char dizisini dize olarak yazdırır. Yazarken '\0''a kadar olan kısmı alır; gerisini yok sayar.

char city[] = "Ankara";
printf("Şehir: %s\n", city);
/* Şehir: Ankara */

Dizide '\0''dan sonra başka veri varsa, %s onları yazdırmaz. Bu yüzden diziyi doğru boyutlandırmak ve sonlandırıcıyı koymak önemlidir.

Uygulama İlk dize: char dizisi ile isim yazdır

İçinde 'A', 'l', 'i' karakterleri ve sonunda '\0' olan bir char dizisi tanımla. printf ve %s ile yazdır; çıktı Ali olmalı.

Başlangıç kodu

main.c
#include <stdio.h>

int main(void) {
    /* char dizisi tanımla */
    /* printf %s ile yazdır */
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    char name[] = {'A', 'l', 'i', '\0'};
    printf("%s\n", name);
    return 0;
}

Beklenen çıktı

Ali

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 3 harfli "Ali" dizesini tutmak için char dizisinde kaç eleman gerekir?

main.c
char name[?] = "Ali";
  • 2
  • 3
  • 5
  • 4 Doğru cevap

Açıklama: 3 harfın yanına bir de null karakter için yer gerekir; toplam 4 eleman.

2 Null sonlandırıcı ile char dizisi

Soru
char end = ____;  /* dize sonlandırıcı */
Cevap
char end = '\0';  /* dize sonlandırıcı */

Açıklama: '\0' null karakteridir ve dizelerin sonunu işaretler.

3 Dize kavramlarını eşleştir

Kavram Anlamı
char karakter türü
\0 dize sonlandırıcı
%s dize biçim belirteci
printf çıkış yazma

Başlangıç bölümündeki tüm dersler