Vad är strlen ()
strlen () är en funktion för att hitta längden på en sträng. Det räknar totalt antal tecken som presenteras i en sträng, vilket eliminerar nollkaraktären. Det totala antalet tecken i strängen inkluderar alfabet, specialtecken och siffror med tomma blanksteg.
I denna skillnad mellan strlen () och sizeof () för sträng i C-självstudien lär du dig:
- Vad är strlen ()
- Vad är storlek på ()
- Syntax för strlen ()
- Syntax av storlek på ()
- Skillnad mellan strlen () och sizeof ()
Vad är storlek på ()
Sizeof () är en funktion som används för att beräkna storleken på dess operand. Den returnerar storleken på en viss variabel. Denna funktion kan tillämpas på vilken datatyp som helst, som innehåller primitiva typer som hel- och pekartyper, flytpunkttyper, struktur eller union. Utgången från programmet som innehåller sizeof () kan vara annorlunda på 32-bitarsystemet och 64-bitarssystemet.
VÄSENTLIGA SKILLNADER:
- Strlen-metoden används för att hitta längden på en array medan storleken () -metoden används för att hitta den faktiska storleken på data.
- Strlen () räknar antalet tecken i en sträng medan sizeof () returnerar storleken på en operand.
- Strlen () letar efter nullvärdet på variabeln men sizeof () bryr sig inte om variabelvärdet.
- Avkastningsvärde i strlen () är lång int Å andra sidan är returvärde i sizeof () osignerat int.
Syntax för strlen ()
strcount = strlen(my_string);
Här är my_string en variabel med teckenuppsättningar.
Exempel på strlen ()
I C-programmet nedan har vi deklarerat strängvariabel av typen char. Strng-variabel passeras som ett argument för strlen () -funktionen för att hitta strängens längd.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Produktion:
Length of given string is: 7
Syntax av storlek på ()
Syntax 1)
sizeof (typ): Type = refererad typ
Exempel på storlek på (typ):
I koden nedan ger & typ adressen till variabeln (dubbel x). Det ökas med 1 som ger adressen där du kan lagra nästa variabel av typen x.
Att skriva x i char * och ta skillnaden gör att du kan känna till det totala antalet variabler av typen char som lagras i minnet. Vi har använt getchar () för att läsa karaktär.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
produktion:
8
Syntax 2)
sizeof (variabelnamn): Variabelnamn = namn på variabeln du vill bestämma storlek.
I nedanstående C-program skriver vi ut storleksdatatypen. Printf-uttalande innehåller storlek på funktion med argument char.
Exempel på storlek på (variabelt namn):
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Produktion:
sizeof(char) = 1
Syntax 3)
sizeof (expression): Expression = Expression du måste utvärdera.
Exempel på storlek på (uttryck):
I programmet nedan beräknar vi och skriver ut storleken på variabeln. Efter detta utvärderar vi uttryck, lagrar det i variabel a och visar resultatet i printf-uttalande.
#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
Skillnad mellan strlen () och sizeof ()
Här är de viktiga skillnaderna mellan strlen () och sizeof ():
Strlen () | Storlek av() |
Strlen () är en fördefinierad funktion som definieras i en rubrikfil som kallas string.h. | Sizeof () är en unary operator eller kompileringstidsuttryck som beräknar mängden minne som upptas av en variabel. |
Denna metod används för att hitta längden på en rad strängar eller tecken. | Denna metod används för att hitta den faktiska storleken på data (allokerad) i byte. |
Det räknar antalet tecken i en sträng som eliminerar nollvärden. | Den returnerar storleken på en operand, inte stränglängden (inklusive nollvärden). |
Det tilldelar minne vid körning och leta efter null-värdet för variabeln. | Sizeof () bryr sig inte om det variabla värdet. |
Strlen () -funktionen fungerar bara med teckensträngar | Funktionen Sizeof () returnerar mängden minne som tilldelats i byte. |
Returvärdet i strlen () är långt int. | Returvärdet i sizeof () är osignerat int. |
Det finns bara en syntax för strlen () som är int strlen (const char * str); | Det finns tre syntaxer av sizeof () 1) sizeof (typ), 2) sizeof (variabelt namn) och 3) sizeof (expression): |