Hva er strlen ()
strlen () er en funksjon for å finne lengden på en streng. Den teller totalt antall tegn som presenteres i en streng, og eliminerer nulltegnet. Totalt antall tegn i streng inkluderer alfabeter, spesialtegn og tall, med blanke mellomrom.
I denne forskjellen mellom strlen () og sizeof () for streng i C tutorial, vil du lære:
- Hva er strlen ()
- Hva er størrelse på ()
- Syntaks for strlen ()
- Syntaks av størrelse på ()
- Forskjellen mellom strlen () og sizeof ()
Hva er størrelse på ()
Sizeof () er en funksjon som brukes til å beregne størrelsen på operanden. Den returnerer størrelsen på en bestemt variabel. Denne funksjonen kan brukes på hvilken som helst datatype, som inneholder primitive typer som heltall- og pekertyper, flytende punkttyper, struktur eller forening. Utgangen fra programmet som inneholder sizeof () kan være forskjellig på 32-bitersystemet og 64-bitersystemet.
HOVEDFORSKJELL:
- Strlen-metoden brukes til å finne lengden på en matrise, mens størrelsen på () -metoden brukes til å finne den faktiske størrelsen på data.
- Strlen () teller antall tegn i en streng mens sizeof () returnerer størrelsen på en operand.
- Strlen () ser etter nullverdien til variabelen, men sizeof () bryr seg ikke om variabelverdien.
- Returverdi i strlen () er lang int derimot er returverdi i sizeof () usignert int.
Syntaks for strlen ()
strcount = strlen(my_string);
Her er my_string en variabel med tegnmatriser.
Eksempel på strlen ()
I C-programmet nedenfor har vi erklært strengvariabel av typen char. Strng-variabelen er bestått som et argument for strlen () -funksjonen for å finne lengden på strengen.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Produksjon:
Length of given string is: 7
Syntaks av størrelse på ()
Syntaks 1)
sizeof (type): Type = referert type
Eksempel på størrelse på (type):
I koden nedenfor gir & type adressen til variabelen (dobbel x). Den økes med 1 som gir adressen der du kan lagre neste variabel av typen x.
Hvis du skriver typ x i char * og tar forskjellen, kan du kjenne det totale antallet variabler av typen char som er lagret i minnet. Vi har brukt getchar () for å lese karakter.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
produksjon:
8
Syntaks 2)
sizeof (variabelnavn): Variabelnavn = navn på variabelen du vil bestemme størrelse.
I C-programmet nedenfor skriver vi ut datatypen størrelse char. Printf-setning inneholder størrelse på funksjon med argumenttegn.
Eksempel på størrelse på (variabelt navn):
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Produksjon:
sizeof(char) = 1
Syntaks 3)
sizeof (uttrykk): uttrykk = uttrykk du må evaluere.
Eksempel på størrelse på (uttrykk):
I programmet nedenfor beregner og skriver vi ut størrelsen på variabelen. Etter dette evaluerer vi uttrykk, lagrer det i variabel a og viser resultatet i printf-setning.
#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;}
Produksjon:
Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4
Forskjellen mellom strlen () og sizeof ()
Her er de viktige forskjellene mellom strlen () og sizeof ():
Strlen () | Størrelsen av() |
Strlen () er en forhåndsdefinert funksjon, som er definert i en headerfil kjent som string.h. | Sizeof () er en unarisk operator eller et kompileringstidsuttrykk som beregner mengden minne som er opptatt av en variabel. |
Denne metoden brukes til å finne lengden på en rekke streng eller tegn. | Denne metoden brukes til å finne den faktiske størrelsen på data (tildelt) i byte. |
Den teller antall tegn i en streng som eliminerer nullverdier. | Den returnerer størrelsen på en operand, ikke strenglengden (inkludert nullverdier). |
Den tildeler minne ved kjøretiden og ser etter nullverdien til variabelen. | Sizeof () bryr seg ikke om den variable verdien. |
Strlen () -funksjonen fungerer bare med tegnstrenger | Sizeof () -funksjonen returnerer mengden minne som er tildelt i byte. |
Returverdien i strlen () er lang int. | Returverdien i sizeof () er usignert int. |
Det er bare en syntaks for strlen () som er int strlen (const char * str); | Det er tre syntakser av størrelse av () 1) størrelse av (type), 2) størrelse av (variabelt navn) og 3) størrelse av (uttrykk): |