CodeBlanks Logo Icon CodeBlanks

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

main.c
#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

main.c
#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

Soru
printf("____
", strlen(name));
Cevap
printf("%zu
", strlen(name));

Açıklama: size_t için %zu kullanılır.

3 `strlen("Elif")` kaç döner?

main.c
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.

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