C programavimas

Styginių ilgis C kalba

Styginių ilgis C kalba
C kalba esanti eilutė yra simbolių masyvas, kuris baigiamas nuliniu simboliu (\ 0). Stygos ilgis yra simbolių skaičius eilutėje. Eilutės ilgyje „\ 0“ simbolis neskaičiuojamas.

Aukščiau pateiktame pavyzdyje eilutės ilgis str yra 6.

Šioje pamokoje pirmiausia parodysime, kaip naudoti vartotojo apibrėžta funkcija Norėdami apskaičiuoti eilutės ilgį, tada parodysime integruotą bibliotekos funkciją strlen (). Mes taip pat parodome jums dydis styginių literatų operatorius.

Stygos ilgis naudojant vartotojo nustatytą funkciją

Galite parašyti vartotojo apibrėžtą funkciją, kuri grąžina simbolių skaičių eilutėje.

// 1 pavyzdys.c
# įtraukti
int stringLength (char * str)

int i = 0;
o (str [i] != '\ 0') i ++;
grįžti i;

int main ()

char str [30] = "STRING";
printf ("Stygos str ilgis =>% d \ n", stringLength (str));
grąžinti 0;

Čia kartojame „while“ kilpą i = 0 kol nesusidursime su „\ 0“ charakteris. Vertė i yra padidintas 1 kiekvienoje kartos ciklo iteracijoje. Pasibaigus kilpai, reikšmė i yra stygos ilgis.

Stygos ilgis naudojant įmontuotą bibliotekos funkciją

Integruota bibliotekos funkcija strlen () taip pat gali būti naudojamas stygos ilgiui nustatyti.

strlen () funkcija:

Antraštės failas:

stygos.h

Sintaksė:

dydis_t strlen (const char * str)

Argumentas: Ši funkcija perkelia tipo žymeklio argumentą į char.

Grąžinimo vertė: Ši funkcija pateikia eilutės ilgį str. Prisimink tai dydis_t yra tik nepasirašyto sveikojo skaičiaus slapyvardis.

// 2 pavyzdys.c
# įtraukti
# įtraukti
int main ()

char str1 [30] = "STRING ARRAY";
char * str2;
char * str3;
str2 = str1;
str3 = "STyginių žymeklis";
printf ("Stygos str1 ilgis =>% ld \ n", strlen (str1));
printf ("Stygos str2 ilgis =>% ld \ n", strlen (str2));
printf ("String str3 ilgis =>% ld \ n", strlen (str3));
printf ("Stygos" STRING LITERALS "ilgis =>% ld \ n", strlen ("STRING LITERALS"));
grąžinti 0;

Čia mes perduodame eilutės masyvą, eilutės rodyklę ir eilutės pažodį strlen funkcijai, o funkcija grąžina eilutės ilgį.

Stygos ilgis naudojant operatoriaus dydį

Mes taip pat galime naudoti dydis operatorius eilutės ilgiui (tik eilutės literaliui). Bet iš šio operatoriaus grąžintos vertės turime atimti 1, nes jis taip pat skaičiuoja simbolį „\ 0“. Masyvui ir žymekliui operatorius sizeof pateikia atitinkamą masyvo ir žymiklio dydį.

// 3 pavyzdys.c
# įtraukti
int main ()

char str1 [30] = "STRING";
char * str2 = str1;
printf ("" STRING "ilgis =>% d \ n", (sizeof ("STRING") - 1));
printf ("Paskirtas str1 masyvo dydis yra =>% d \ n", sizeof (str1) dydis);
printf ("str2 rodyklės dydis yra =>% d \ n", sizeof (str2));
grąžinti 0;

Čia eilutėje Nr. 9 mes perduodame eilutės pažodį „STRING“ ir gauname dydį, įskaitant simbolį „\ 0“. Taigi, atimame 1 ir gauname faktinį eilutės dydį.

Kai perduodame masyvą operatoriui sizeof, jis grąžina paskirtą masyvo dydį, kuris yra 30, o perduodamas simbolių rodyklę - žymeklio dydį.

Išvada

Taigi, šioje pamokoje parodėme, kaip įvairiais būdais galima apskaičiuoti eilutės ilgį. Kode galite naudoti bet kurį jums tinkamiausią metodą.

Kaip atsisiųsti ir paleisti „Sid Meier Civilization VI“ sistemoje „Linux“
Įvadas į žaidimą „Civilization 6“ yra šiuolaikinė klasikinės koncepcijos, pristatytos „Age of Empires“ žaidimų serijoje, koncepcija. Idėja buvo gana p...
Kaip įdiegti ir žaisti „Doom“ sistemoje „Linux“
Įvadas į Doom „Doom“ serija atsirado 90-aisiais, išleidus originalų „Doom“. Tai buvo tiesioginis hitas, o nuo to laiko žaidimų serija gavo daugybę apd...
„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...