Stränglängd på C -språk

String Length C Language



En sträng på C -språket är en uppsättning tecken som avslutas med ett nulltecken ( 0). Stränglängden är antalet tecken i en sträng. I stränglängden ' 0' räknas inte ett tecken.







I exemplet som visas ovan, strängens längd sid är 6.



I den här självstudien kommer vi först att visa hur du använder a användardefinierad funktion för att beräkna längden på en sträng, och sedan visar vi dig en inbyggd biblioteksfunktion strlen () . Vi visar dig också användningen av storlek av operatör för strängbokstavar.



Stränglängd med användardefinierad funktion

Du kan skriva en användardefinierad funktion som returnerar antalet tecken i en sträng.





//Exempel1.c
#omfatta

intstränglängd(röding *sid)
{
inti=0;

medan(sid[i] ! = ' 0')i++;

lämna tillbakai;
}

inthuvud()
{
rödingsid[30]= 'STRÄNG';

printf ('Strängens strängas längd är => %d n',stränglängd(sid));

lämna tillbaka 0;
}

Här itererar vi medan loop från jag = 0 tills vi inte stöter på ' 0' karaktär. Värdet av i ökas med 1 i varje iteration av while -slingan. När slingan slutar, värdet av i är strängens längd.



Stränglängd med inbyggd biblioteksfunktion

Den inbyggda biblioteksfunktionen strlen () kan också användas för att bestämma stränglängd.

strlen () -funktion:

Rubrikfil:

sträng.h

Syntax:

storlek_t strlen (konst röding *sid)

Argument: Denna funktion tar ett argument av typen pekare till char.

Returvärde: Denna funktion returnerar strängens längd sid . Anteckna det storlek_t är bara ett alias för ett osignerat heltal.

//Exempel2.c
#omfatta
#omfatta

inthuvud()
{
rödingstr1[30]='STRING ARRAY';
röding *str2;
röding *str3;

str2=str1;
str3= 'STRING POINTER';

printf ('Strängens längd str1 är => %ld n', strlen (str1));
printf ('Strängens längd str2 är => %ld n', strlen (str2));
printf ('Strängens längd str3 är => %ld n', strlen (str3));
printf ('Strängens längd'STRING LITERALER'är => %ld n', strlen ('STRING LITERALS'));

lämna tillbaka 0;
}

Här skickar vi strängmatris, strängpekare och strängbokstav till strlen -funktionen, och funktionen returnerar strängens längd.

Stränglängd med hjälp av operatörens storlek

Vi kan också använda storlek av operator för stränglängd (endast för strängbokstav). Men vi måste subtrahera 1 från värdet som returneras av denna operatör, eftersom det också räknar tecknet ' 0'. För array och pekare returnerar sizeof -operatören den tilldelade storleken på matrisen respektive pekaren.

//Exempel3.c
#omfatta

inthuvud()
{
rödingstr1[30] = 'STRÄNG';
röding *str2=str1;

printf ('Längden av 'STRÄNG'är => %d n',(storlek av('STRÄNG') - 1));
printf ('Tilldelad storlek på str1 -arrayen är => %d n',storlek av(str1));
printf ('Str2 -pekarens storlek är => %d n',storlek av(str2));

lämna tillbaka 0;
}

Här, på rad nr 9, passerar vi strängen bokstavlig STRING och får storleken, inklusive ' 0' -tecknet. Så vi subtraherar 1 och får strängens faktiska storlek.

När vi skickar en matris till operatörens storlek returnerar den den tilldelade storleken på matrisen, som är 30, och när den skickar en teckenpekare returnerar den pekarens storlek.

Slutsats

Så i denna handledning har vi visat dig hur stränglängd kan beräknas på olika sätt. Du kan använda i din kod vilken metod som passar dig bäst.