C Programlama

C Dilinde Dize Uzunluğu

C Dilinde Dize Uzunluğu
C dilinde bir dize, boş karakterle (\0) sonlandırılan bir karakter dizisidir. Dize uzunluğu, bir dizedeki karakter sayısıdır. '\0' dize uzunluğunda bir karakter sayılmaz.

Yukarıda gösterilen örnekte, dizenin uzunluğu cadde 6 yaşında.

Bu derste, ilk olarak, nasıl kullanılacağını göstereceğiz kullanıcı tanımlı fonksiyon bir dizenin uzunluğunu hesaplamak için size yerleşik bir kitaplık işlevi göstereceğiz strlen(). kullanımlarını da gösteriyoruz boyutu dize değişmezleri için operatör.

Kullanıcı Tanımlı İşlevi Kullanan Dizi Uzunluğu

Bir dizedeki karakter sayısını döndüren kullanıcı tanımlı bir işlev yazabilirsiniz.

//Örnek 1.c
#Dahil etmek
int stringLength(char *str)

int i=0;
while(str[i] != '\0') i++;
dönüş i;

int ana()

char str[30]= "STRING";
printf("str dizesinin uzunluğu => %d\n",stringLength(str));
0 döndür;

Burada while döngüsünü tekrarlıyoruz ben = 0 karşılaşmadığımız sürece '\0' karakter. Değeri ben arttırılır 1 while döngüsünün her yinelemesinde. Döngü sona erdiğinde, değeri ben dizenin uzunluğu.

Yerleşik Kitaplık İşlevini Kullanan Dize Uzunluğu

Yerleşik kitaplık işlevi strlen() dize uzunluğunu belirlemek için de kullanılabilir.

strlen() işlevi:

Başlık dosyası:

dize.h

Sözdizimi:

size_t strlen (const char *str)

argüman: Bu işlev, karakter tipi işaretçisinin bir argümanını alır.

Geri dönüş değeri: Bu işlev, dizenin uzunluğunu döndürür cadde. Dikkat size_t sadece işaretsiz bir tamsayının takma adıdır.

//Örnek2.c
#Dahil etmek
#Dahil etmek
int ana()

char str1[30]="STRING DİZİ";
karakter *str2;
karakter *str3;
str2 = str1;
str3 = "STRING İŞARETÇİ";
printf("str1 dizesinin uzunluğu => %ld\n",strlen(str1));
printf("str2 dizesinin uzunluğu => %ld\n",strlen(str2));
printf("str3 dizesinin uzunluğu => %ld\n",strlen(str3));
printf("STRING LITERALS" dizesinin uzunluğu => %ld\n",strlen("STRING LITERALS"));
0 döndür;

Burada, strlen işlevine dize dizisini, dize işaretçisini ve dize değişmez değerini iletiriz ve işlev dizenin uzunluğunu döndürür.

Sizeof Operator Kullanan Dize Uzunluğu

Biz de kullanabiliriz boyutu dize uzunluğu operatörü (yalnızca dize değişmezi için). Ancak, bu operatör tarafından döndürülen değerden 1 çıkarmamız gerekiyor, çünkü o aynı zamanda '\0' karakterini de sayar. Dizi ve işaretçi için, sizeof operatörü, sırasıyla dizinin ve işaretçinin tahsis edilen boyutunu döndürür.

//Örnek3.c
#Dahil etmek
int ana()

char str1[30] = "STRING";
karakter *str2 =str1;
printf("STRING" uzunluğu => %d\n",(sizeof("STRING") - 1));
printf("str1 dizisinin ayrılan boyutu => %d\n",sizeof(str1));
printf("Str2 işaretçisinin boyutu => %d\n",sizeof(str2));
0 döndür;

Burada 9. Satırda “STRING” dizgesini geçiyoruz ve '\0' karakteri de dahil olmak üzere boyutu alıyoruz. Böylece, 1 çıkarırız ve dizenin gerçek boyutunu elde ederiz.

Sizeof operatörüne bir dizi ilettiğimizde, dizinin tahsis edilen boyutu olan 30'u döndürür ve bir karakter işaretçisini geçerken işaretçinin boyutunu döndürür.

Sonuç

Bu derste size string uzunluğunun çeşitli şekillerde nasıl hesaplanabileceğini gösterdik. Kodunuzda sizin için en uygun olan yöntemi kullanabilirsiniz.

OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...