C Programiranje

Dolžina niza v jeziku C

Dolžina niza v jeziku C
Niz v jeziku C je niz znakov, ki se zaključi z ničelnim znakom (\ 0). Dolžina niza je število znakov v nizu. V dolžini niza '\ 0' se znak ne šteje.

V zgornjem primeru je dolžina niza str je 6.

V tej vadnici bomo najprej pokazali, kako uporabljati uporabniško določena funkcija za izračun dolžine niza, nato pa vam pokažemo vgrajeno funkcijo knjižnice strlen (). Pokazali vam bomo tudi uporabo velikost operator za niz literal.

Dolžina niza z uporabniško določeno funkcijo

Lahko napišete uporabniško določeno funkcijo, ki vrne število znakov v nizu.

// Primer1.c
#include
int stringLength (char * str)

int i = 0;
medtem ko (str [i] != '\ 0') i ++;
vrnitev i;

int main ()

char str [30] = "STRING";
printf ("Dolžina niza str je =>% d \ n", niz dolžine (str));
vrnitev 0;

Tu ponovimo zanko while i = 0 dokler ne naletimo na '\ 0' znak. Vrednost jaz se poveča za 1 v vsaki ponovitvi zanke while. Ko se zanka konča, je vrednost jaz je dolžina vrvice.

Dolžina niza z uporabo vgrajene funkcije knjižnice

Vgrajena funkcija knjižnice strlen () se lahko uporablja tudi za določanje dolžine niza.

funkcija strlen ():

Datoteka glave:

vrvica.h

Sintaksa:

size_t strlen (const char * str)

Prepir: Ta funkcija sprejme argument kazalca tipa na char.

Vrnjena vrednost: Ta funkcija vrne dolžino niza str. Upoštevajte to velikost_t je le vzdevek nepodpisanega celega števila.

// Primer2.c
#include
#include
int main ()

char str1 [30] = "STRING ARRAY";
char * str2;
char * str3;
str2 = str1;
str3 = "NAVODILO";
printf ("Dolžina niza str1 je =>% ld \ n", strlen (str1));
printf ("Dolžina niza str2 je =>% ld \ n", strlen (str2));
printf ("Dolžina niza str3 je =>% ld \ n", strlen (str3));
printf ("Dolžina niza" STRING LITERALS "je =>% ld \ n", strlen ("STRING LITERALS"));
vrnitev 0;

Tu posredujemo matriko nizov, kazalec niza in literal niza funkciji strlen, ta pa vrne dolžino niza.

Dolžina niza z uporabo velikosti operaterja

Uporabljamo lahko tudi velikost operator za dolžino niza (samo za niz literal). Toda od vrednosti, ki jo vrne ta operater, moramo odšteti 1, ker šteje tudi znak \ \ 0. Za matriko in kazalnik operator sizeof vrne dodeljeno velikost polja in kazalca.

// Primer3.c
#include
int main ()

char str1 [30] = "STRING";
char * str2 = str1;
printf ("Dolžina" STRING "je =>% d \ n", (sizeof ("STRING") - 1));
printf ("Dodeljena velikost polja str1 je =>% d \ n", sizeof (str1));
printf ("Velikost kazalca str2 je =>% d \ n", sizeof (str2));
vrnitev 0;

Tu, v vrstici št. 9, prenesemo dobesedno dobesedno besedilo »STRING« in dobimo velikost, vključno z znakom \ \ 0. Torej odštejemo 1 in dobimo dejansko velikost niza.

Ko matriko posredujemo operatorju sizeof, ta vrne dodeljeno velikost matrike, ki je 30, in ko posreduje kazalec znakov, vrne velikost kazalca.

Zaključek

V tej vadnici smo vam torej pokazali, kako lahko dolžino niza izračunamo na različne načine. V svoji kodi lahko uporabite katero koli metodo, ki je za vas najprimernejša.

Levi gumb miške ne deluje v sistemu Windows 10
Če s prenosnikom ali namiznim računalnikom uporabljate namensko miško, vendar gumb miške z levim klikom ne deluje v operacijskem sistemu Windows 10/8/...
Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...
Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...