Starpība starp strlen () un sizeof () virknei C

Satura rādītājs:

Anonim

Kas ir strlen ()

strlen () ir funkcija, lai atrastu virknes garumu. Tas skaita virknē attēloto rakstzīmju kopsummu, novēršot nulles rakstzīmi. Kopējais rakstzīmju skaits virknē ietver alfabētus, īpašās rakstzīmes un ciparus ar tukšām atstarpēm.

Šajā atšķirībā starp strlen () un sizeof () virknei C apmācībā jūs uzzināsiet:

  • Kas ir strlen ()
  • Kas ir sizeof ()
  • Strlen () sintakse
  • () Lieluma sintakse
  • Starpība starp strlen () un sizeof ()

Kas ir sizeof ()

Sizeof () ir funkcija, ko izmanto operanda lieluma aprēķināšanai. Tas atgriež konkrētā mainīgā lielumu. Šo funkciju var izmantot jebkuram datu tipam, kas satur primitīvus tipus, piemēram, veselu skaitļu un rādītāju tipus, peldošā komata tipus, struktūru vai savienojumu. Programmas, kas satur sizeof (), izeja var būt atšķirīga 32 bitu un 64 bitu sistēmā.

GALVENĀS ATŠĶIRĪBAS:

  • Strlena metodi izmanto, lai atrastu masīva garumu, bet metodi sizeof (), lai atrastu faktisko datu lielumu.
  • Strlen () saskaita virknes rakstzīmju skaitu, savukārt sizeof () atgriež operanda lielumu.
  • Strlen () meklē mainīgā nulles vērtību, bet sizeof () nav svarīgi par mainīgo vērtību.
  • Atgriešanās vērtība strlen () ir gara int, no otras puses, atgriešanās vērtība sizeof () ir neparakstīta int.

Strlen () sintakse

strcount = strlen(my_string);

Šeit my_string ir rakstzīmju masīva mainīgais.

Strlen () piemērs

Zemāk esošajā C programmā mēs esam deklarējuši virknes mainīgo tipa char. Strng mainīgais tiek nodots kā strlen () funkcijas arguments, lai atrastu virknes garumu.

#include#includeint main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}

Izeja:

Length of given string is: 7

() Lieluma sintakse

1. sintakse)

sizeof (type): Tips = atsauces tips

Sizeof (type) piemērs:

Zemāk esošajā kodā & type norāda mainīgā adresi (double x). Tas tiek palielināts ar 1, kas norāda adresi, kur var saglabāt nākamo x tipa mainīgo.

Rakstot x ar char * un ņemot starpību, jūs varēsit uzzināt atmiņā saglabāto char tipa mainīgo kopējo skaitu. Lai lasītu rakstzīmi, mēs izmantojām getchar ().

#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}

izeja:

8

2. sintakse)

sizeof (variable-name): Mainīgais nosaukums = tā mainīgā nosaukums, kura izmēru vēlaties noteikt.

Zemāk esošajā C programmā mēs drukājam izmēra char datu tipu. Izraksts Printf satur funkcijas sizeof ar argumentu char.

Piemērs sizeof (mainīgā nosaukums):

#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}

Izeja:

sizeof(char) = 1

3. sintakse)

sizeof (izteiksme): izteiksme = izteiksme, kas jums jānovērtē.

(Izteiksmes) sizeof piemērs:

Zemāk esošajā programmā mēs vispirms aprēķinām un drukājam mainīgā lielumu. Pēc tam mēs novērtējam izteiksmi, glabājam to mainīgajā a un rezultātu parādām paziņojumā printf.

#includeint main() {char p = 'S';double q = 4.65;printf("Size of variable p : %d\n",sizeof(p));printf("Size of an expression : %d\n",sizeof(p+q));int a = (int)(p+q);printf("Size of explicitly converted expression : %d\n",sizeof(a));return 0;}

Izeja:

Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4

Starpība starp strlen () un sizeof ()

Šeit ir svarīgas atšķirības starp strlen () un sizeof ():

Strlen () Sizeof ()
Strlen () ir iepriekš definēta funkcija, kas definēta galvenes failā, kas pazīstams kā string.h. Sizeof () ir vienots operators vai sastādīšanas laika izteiksme, kas aprēķina mainīgā aizņemto atmiņas apjomu.
Šo metodi izmanto, lai atrastu virknes vai rakstzīmju masīva garumu. Šo metodi izmanto, lai atrastu faktisko datu (piešķirto) lielumu baitos.
Tas skaita virknes rakstzīmju skaitu, novēršot nulles vērtības. Tas atgriež operanda lielumu, nevis virknes garumu (ieskaitot nulles vērtības).
Tas piešķir atmiņu izpildlaikā un meklē mainīgā nulles vērtību. Sizeof () nerūp mainīgā vērtība.
Funkcija Strlen () darbojas tikai ar rakstzīmju virknēm Funkcija Sizeof () atgriež atmiņā atvēlēto baitu daudzumu.
Atgriešanās vērtība strlen () ir gara vid. Atgriešanās vērtība sizeof () nav parakstīta.
Ir tikai viena strlen () sintakse, kas ir int strlen (const char * str); Pastāv trīs sintakse: sizeof () 1) sizeof (type), 2) sizeof (variable-name) un 3) sizeof (izteiksme):