Strlen () nedir
strlen (), bir dizgenin uzunluğunu bulmaya yarayan bir işlevdir. Boş karakteri ortadan kaldırarak bir dizede sunulan toplam karakterleri sayar. Dizedeki toplam karakter sayısı, harfleri, özel karakterleri ve boşlukları içeren sayıları içerir.
C öğreticide string için strlen () ve sizeof () arasındaki bu farkta, şunları öğreneceksiniz:
- Strlen () nedir
- Sizeof () nedir
- Strlen () sözdizimi
- Sizeof () sözdizimi
- Strlen () ve sizeof () arasındaki fark
Sizeof () nedir
Sizeof (), işleneninin boyutunu hesaplamak için kullanılan bir fonksiyondur. Belirli bir değişkenin boyutunu döndürür. Bu işlev, tamsayı ve işaretçi türleri, kayan nokta türleri, yapı veya birleşim gibi ilkel türleri içeren herhangi bir veri türüne uygulanabilir. Sizeof () içeren programın çıktısı 32 bitlik sistemde ve 64 bitlik sistemde farklı olabilir.
ANAHTAR FARKLAR:
- Strlen yöntemi bir dizinin uzunluğunu bulmak için kullanılırken, gerçek veri boyutunu bulmak için sizeof () yöntemi kullanılır.
- Strlen () bir dizedeki karakterlerin sayısını sayarken sizeof () bir işlenenin boyutunu döndürür.
- Strlen () değişkenin boş değerini arar, ancak sizeof () değişken değerini umursamaz.
- Strlen () içindeki dönüş değeri long int, diğer yandan sizeof () içindeki dönüş değeri işaretsiz int'dir.
Strlen () sözdizimi
strcount = strlen(my_string);
Burada my_string bir karakter dizisi değişkenidir.
Strlen () örneği
Aşağıdaki C programında, char türünde dize değişkenini tanımladık. Strng değişkeni, dizenin uzunluğunu bulmak için strlen () işlevinin bir argümanı olarak iletilir.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Çıktı:
Length of given string is: 7
Sizeof () sözdizimi
Sözdizimi 1)
sizeof (tür): Tür = başvurulan tür
Sizeof (type) örneği:
Aşağıdaki kodda & type, değişkenin adresini verir (çift x). Bir sonraki x tipi değişkeni saklayabileceğiniz adresi veren 1 ile artırılır.
X'i char * içine yazmak ve farkı almak, bellekte depolanan char türündeki toplam değişken sayısını bilmenizi sağlar. Karakteri okumak için getchar () kullandık.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
çıktı:
8
Sözdizimi 2)
sizeof (değişken-adı): Değişken-adı = boyutunu belirlemek istediğiniz değişkenin adı.
Aşağıdaki C programında, boyut karakter veri türünü yazdırıyoruz. Printf deyimi, char değişkenine sahip sizeof işlevini içerir.
Sizeof (değişken-adı) örneği:
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Çıktı:
sizeof(char) = 1
Sözdizimi 3)
sizeof (ifade): İfade = Değerlendirmeniz gereken ifade.
Sizeof (ifade) örneği:
Aşağıdaki programda önce değişkenin boyutunu hesaplayıp yazdırıyoruz. Bundan sonra, ifadeyi değerlendiriyoruz, onu a değişkeninde saklıyoruz ve sonucu printf ifadesinde görüntülüyoruz.
#includeint main() {char p = 'S';double q = 4.65;printf("Size of variable p : %d\n",sizeof(p));printf("Size of an expression : %d\n",sizeof(p+q));int a = (int)(p+q);printf("Size of explicitly converted expression : %d\n",sizeof(a));return 0;}
Çıktı:
Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4
Strlen () ve sizeof () arasındaki fark
Strlen () ve sizeof () arasındaki önemli farklar şunlardır:
Strlen () | Boyutu() |
Strlen (), string.h olarak bilinen bir başlık dosyasında tanımlanan önceden tanımlanmış bir işlevdir. | Sizeof (), bir değişkenin kapladığı bellek miktarını hesaplayan tekli bir operatör veya derleme zamanı ifadesidir. |
Bu yöntem, bir dizi veya karakter dizisinin uzunluğunu bulmak için kullanılır. | Bu yöntem, bayt cinsinden gerçek veri boyutunu (ayrılan) bulmak için kullanılır. |
Boş değerleri eleyerek bir dizedeki karakterlerin sayısını sayar. | Dize uzunluğunu değil (boş değerler dahil) bir işlenenin boyutunu döndürür. |
Çalışma zamanında bellek ayırır ve değişkenin boş değerini arar. | Sizeof () değişken değeri ile ilgilenmez. |
Strlen () işlevi yalnızca karakter dizeleriyle çalışır | Sizeof () işlevi, bayt olarak ayrılan bellek miktarını döndürür. |
Strlen () içindeki dönüş değeri long int'dir. | Sizeof () içindeki dönüş değeri unsigned int'dir. |
Strlen () 'in int strlen (const char * str) olan tek bir sözdizimi vardır; | Sizeof () 1) sizeof (tür), 2) sizeof (değişken-adı) ve 3) sizeof (ifade) için üç sözdizimi vardır: |