Hvad er strlen ()
strlen () er en funktion til at finde længden af en streng. Det tæller samlede tegn, der præsenteres i en streng, hvilket eliminerer nultegn. Det samlede antal tegn i streng inkluderer alfabeter, specialtegn og tal med tomme mellemrum.
I denne forskel mellem strlen () og sizeof () for streng i C-tutorial lærer du:
- Hvad er strlen ()
- Hvad er størrelse af ()
- Syntaks for strlen ()
- Syntaks af størrelse af ()
- Forskel mellem strlen () og sizeof ()
Hvad er størrelse af ()
Sizeof () er en funktion, der bruges til at beregne størrelsen på dens operand. Den returnerer størrelsen på en bestemt variabel. Denne funktion kan anvendes på enhver datatype, der indeholder primitive typer som hel- og markørtyper, flydende punkttyper, struktur eller union. Programmets output, der indeholder sizeof (), kan være forskelligt på 32-bit-systemet og 64-bit-systemet.
Nøgleforskelle:
- Strlen-metoden bruges til at finde længden af en matrix, mens metoden sizeof () bruges til at finde den faktiske størrelse af data.
- Strlen () tæller antallet af tegn i en streng, mens sizeof () returnerer størrelsen på en operand.
- Strlen () ser efter nulværdien af variablen, men sizeof () er ligeglad med den variable værdi.
- Returværdi i strlen () er lang int På den anden side er returværdi i sizeof () usigneret int.
Syntaks for strlen ()
strcount = strlen(my_string);
Her er my_string en karakterarrayvariabel.
Eksempel på strlen ()
I nedenstående C-program har vi deklareret strengvariabel af typen char. Strng-variabel er bestået som et argument for strlen () -funktionen for at finde længden af strengen.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Produktion:
Length of given string is: 7
Syntaks af størrelse af ()
Syntaks 1)
sizeof (type): Type = refereret type
Eksempel på størrelse af (type):
I nedenstående kode giver & type adressen til variablen (dobbelt x). Det er steget med 1, som giver adressen, hvor du kan gemme den næste variabel af typen x.
Typecasting x til char * og tager forskellen giver dig mulighed for at kende det samlede antal variabler af typen char gemt i hukommelsen. Vi har brugt getchar () til at læse karakter.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
produktion:
8
Syntaks 2)
sizeof (variabelnavn): Variabelnavn = navn på den variabel, du gerne vil bestemme størrelse.
I nedenstående C-program udskriver vi datatypen størrelse char. Printf-sætning indeholder størrelse på funktion med argument char.
Eksempel på størrelse af (variabelt navn):
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Produktion:
sizeof(char) = 1
Syntaks 3)
sizeof (udtryk): Udtryk = Udtryk, du skal evaluere.
Eksempel på størrelse af (udtryk):
I nedenstående program beregner vi og udskriver størrelsen på variablen. Herefter evaluerer vi udtryk, gemmer det i variabel a og viser resultatet i printf-sætning.
#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;}
Produktion:
Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4
Forskel mellem strlen () og sizeof ()
Her er de vigtige forskelle mellem strlen () og sizeof ():
Strlen () | Størrelse på () |
Strlen () er en foruddefineret funktion, der er defineret i en headerfil kendt som string.h. | Sizeof () er en unarisk operator eller et kompileringstidsudtryk, der beregner mængden af hukommelse optaget af en variabel. |
Denne metode bruges til at finde længden af en række streng eller tegn. | Denne metode bruges til at finde den faktiske størrelse af data (allokeret) i bytes. |
Det tæller antallet af tegn i en streng, der eliminerer nulværdier. | Den returnerer størrelsen på en operand, ikke strenglængden (inklusive nulværdier). |
Det tildeler hukommelse i løbetiden og se efter nulværdien af variablen. | Sizeof () er ligeglad med den variable værdi. |
Strlen () -funktionen fungerer kun med tegnstrenge | Funktionen Sizeof () returnerer mængden af hukommelse allokeret i byte. |
Returværdi i strlen () er lang int. | Returneringsværdi i sizeof () er usigneret int. |
Der er kun en syntaks for strlen (), som er int strlen (const char * str); | Der er tre syntakser af størrelse af () 1) størrelse af (type), 2) størrelse af (variabelt navn) og 3) størrelse af (udtryk): |