Strenglængde på C -sprog

String Length C Language



En streng på C -sprog er en matrix af tegn, der afsluttes med et nulltegn ( 0). Strenglængden er antallet af tegn i en streng. I strenglængden ' 0' tælles et tegn ikke.







I eksemplet vist ovenfor, strengens længde s er 6.



I denne vejledning viser vi først, hvordan du bruger en brugerdefineret funktion for at beregne længden af ​​en streng, og så viser vi dig en indbygget biblioteksfunktion strlen () . Vi viser dig også brugen af størrelse på operatør for strenglitteraler.



Strenglængde ved hjælp af brugerdefineret funktion

Du kan skrive en brugerdefineret funktion, der returnerer antallet af tegn i en streng.





// Eksempel1.c
#omfatte

intstringLængde(forkælelse *s)
{
intjeg=0;

mens(s[jeg] ! = ' 0')jeg++;

Vend tilbagejeg;
}

intvigtigste()
{
forkælelses[30]= 'SNOR';

printf ('Længden af ​​strengstrengen er => %d n',stringLængde(s));

Vend tilbage 0;
}

Her gentager vi while -loop fra jeg = 0 indtil vi ikke støder på ' 0' Karakter. Værdien af jeg øges med 1 i hver iteration af while -sløjfen. Når sløjfen slutter, værdien af jeg er strengens længde.



Strenglængde ved hjælp af indbygget biblioteksfunktion

Den indbyggede biblioteksfunktion strlen () kan også bruges til at bestemme strenglængde.

strlen () funktion:

Overskriftsfil:

snor.h

Syntaks:

størrelse_t strlen (konst forkælelse *s)

Argument: Denne funktion tager et argument af typen markør til char.

Returværdi: Denne funktion returnerer længden af ​​strengen s . Noter det størrelse_t er bare et alias for et usigneret heltal.

//Eksempel2.c
#omfatte
#omfatte

intvigtigste()
{
forkælelsestr1[30]='STRING ARRAY';
forkælelse *str2;
forkælelse *str3;

str2=str1;
str3= 'STRING POINTER';

printf ('Længden af ​​strengen str1 er => %ld n', strlen (str1));
printf ('Længden af ​​strengen str2 er => %ld n', strlen (str2));
printf ('Længden af ​​strengen str3 er => %ld n', strlen (str3));
printf ('Strengens længde'STRING LITERALER'er => %ld n', strlen ('STRING LITERALS'));

Vend tilbage 0;
}

Her sender vi strengarray, strengmarkør og streng bogstaveligt til strlen -funktionen, og funktionen returnerer strengens længde.

Strenglængde ved hjælp af operatorens størrelse

Vi kan også bruge størrelse på operator for strenglængde (kun for streng bogstavelig). Men vi skal trække 1 fra værdien, der returneres af denne operator, fordi den også tæller ' 0' -tegnet. For array og markør returnerer sizeof -operatoren den tildelte størrelse på henholdsvis arrayet og markøren.

// Eksempel3.c
#omfatte

intvigtigste()
{
forkælelsestr1[30] = 'SNOR';
forkælelse *str2=str1;

printf ('Længde på'SNOR'er => %d n',(størrelse på('SNOR') - 1));
printf ('Allokeret størrelse på str1 -arrayet er => %d n',størrelse på(str1));
printf ('Størrelsen på str2 -markøren er => %d n',størrelse på(str2));

Vend tilbage 0;
}

Her i linje nr. 9 passerer vi strengen bogstavelig STRING og får størrelsen, inklusive ' 0' -tegnet. Så vi trækker 1 og får strengens faktiske størrelse.

Når vi sender et array til operatoren sizeof, returnerer det den tildelte størrelse på arrayet, som er 30, og når det passerer en tegnmarkør, returnerer det markørens størrelse.

Konklusion

Så i denne vejledning har vi vist dig, hvordan strenglængde kan beregnes på forskellige måder. Du kan bruge i din kode, hvilken metode der er bedst egnet til dig.