strlen
- C kursu
- Başlangıç
- Ders 61/116
- 5 dk
strlen ile dize uzunluğunu almayı öğrenirsin.
strlen ile dize uzunluğu
<string.h> başlığında bulunan strlen fonksiyonu, bir dizenin null karaktere kadar olan harf sayısını verir. Null karakter sayılmaz.
#include <string.h>
size_t n = strlen("Merhaba"); /* n = 7 */Dönen değer size_t türündendir; printf ile yazdırırken %zu biçim belirteci kullanılır. sizeof tüm dizinin boyutunu verirken, strlen yalnızca harf sayısını verir; ikisi farklı şeylerdir.
strlen nasıl çalışır?
strlen dizeyi baştan sona tarar ve '\0''ı görene kadar sayar. Eğer diziyi sonlandırmayı unutursan, fonksiyon diziyi aşar; bu tanımsız davranıştır.
char name[] = "Mert";
size_t len = strlen(name);
/* len = 4 */Bu yüzden dizeleri ya string literal ile tanımla ya da sonuna elle '\0' koy. strlen kelimesi string length'in kısaltmasıdır.
Uygulama Dize uzunluğunu hesapla
Bir char dizisini "Merve" literal'ı ile tanımla. strlen ile harf sayısını bul ve printf %zu ile yazdır. Çıktı 5 olmalı.
Başlangıç kodu
#include <stdio.h>
#include <string.h>
int main(void) {
/* char dizisini "Merve" ile tanımla */
/* strlen ile uzunluk ve printf %zu ile yazdır */
return 0;
}Örnek çözüm
#include <stdio.h>
#include <string.h>
int main(void) {
char s[] = "Merve";
printf("%zu\n", strlen(s));
return 0;
}Beklenen çıktı
5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 strlen ve sizeof farkı
| Kavram | Anlamı |
|---|---|
strlen |
harf sayısı |
sizeof |
byte boyutu |
%zu |
size_t biçimi |
string.h |
strlen başlığı |
2 strlen dönüş türü için biçim
printf("____
", strlen(name));
printf("%zu
", strlen(name));
Açıklama: size_t için %zu kullanılır.
3 `strlen("Elif")` kaç döner?
size_t n = strlen("Elif");- 5
- 4 Doğru cevap
- 6
- 7
Açıklama: Elif 4 harflıdır; strlen null hariç harf sayısını verir.