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
#include <stdio.h>
int main(void) {
/* char dizisi tanımla */
/* printf %s ile yazdır */
return 0;
}Örnek çözüm
#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?
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
char end = ____; /* dize sonlandırıcı */
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 |