Ce este strlen ()
strlen () este o funcție pentru a găsi lungimea unui șir. Numără totalul de caractere care sunt prezentate într-un șir, eliminând caracterul nul. Numărul total de caractere din șir include, alfabete, caractere speciale și numere, cu spații goale.
În această diferență între strlen () și sizeof () pentru șir în tutorialul C, veți învăța:
- Ce este strlen ()
- Ce este sizeof ()
- Sintaxa lui strlen ()
- Sintaxa dimensiunii ()
- Diferența dintre strlen () și sizeof ()
Ce este sizeof ()
Sizeof () este o funcție care este utilizată pentru a calcula dimensiunea operandului său. Returnează dimensiunea unei anumite variabile. Această funcție poate fi aplicată oricărui tip de date, care conține tipuri primitive, cum ar fi tipuri întregi și pointer, tipuri cu virgulă mobilă, structură sau uniune. Ieșirea programului care conține sizeof () poate fi diferită pe sistemul pe 32 de biți și pe sistemul pe 64 de biți.
DIFERENȚE CHEIE:
- Metoda Strlen este utilizată pentru a găsi lungimea unui tablou, în timp ce metoda sizeof () este utilizată pentru a găsi dimensiunea reală a datelor.
- Strlen () numără numerele de caractere dintr-un șir în timp ce sizeof () returnează dimensiunea unui operand.
- Strlen () caută valoarea nulă a variabilei, dar sizeof () nu-i pasă de valoarea variabilei.
- Valoarea returnată în strlen () este lungă int, pe de altă parte valoarea returnată în sizeof () este nesemnată int.
Sintaxa lui strlen ()
strcount = strlen(my_string);
Aici, my_string este o variabilă de matrice de caractere.
Exemplu de strlen ()
În programul C de mai jos, am declarat variabila șir de tip char. Variabila Strng este o trecere ca argument al funcției strlen () pentru a găsi lungimea șirului.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Ieșire:
Length of given string is: 7
Sintaxa dimensiunii ()
Sintaxa 1)
sizeof (type): Type = tip de referință
Exemplu de mărime (tip):
În codul de mai jos, & type dă adresa variabilei (x dublu). Este incrementat cu 1, care oferă adresa unde puteți stoca următoarea variabilă de tip x.
Tiparea x în caractere * și luarea diferenței vă vor permite să cunoașteți numărul total de variabile de tip char stocate în memorie. Am folosit getchar () pentru a citi caracterul.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
ieșire:
8
Sintaxa 2)
sizeof (nume-variabilă): Variable-name = numele variabilei pe care doriți să o determinați.
În programul C de mai jos, tipărim tipul de date char size. Instrucțiunea Printf conține dimensiunea funcției cu argumentul char.
Exemplu de mărime (nume-variabilă):
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Ieșire:
sizeof(char) = 1
Sintaxa 3)
sizeof (expresie): Expresie = Expresie pe care trebuie să o evaluezi.
Exemplu de mărime (expresie):
În programul de mai jos, calculăm și imprimăm mai întâi dimensiunea variabilei. După aceasta, evaluăm expresia, o stocăm în variabila a și afișăm rezultatul în instrucțiunea 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;}
Ieșire:
Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4
Diferența dintre strlen () și sizeof ()
Iată diferențele importante dintre strlen () și sizeof ():
Strlen () | Dimensiunea () |
Strlen () este o funcție predefinită, care este definită într-un fișier de antet cunoscut sub numele de string.h. | Sizeof () este un operator unar sau o expresie în timp de compilare care calculează cantitatea de memorie ocupată de o variabilă. |
Această metodă este utilizată pentru a găsi lungimea unei matrice de șiruri sau caractere. | Această metodă este utilizată pentru a găsi dimensiunea reală a datelor (alocate) în octeți. |
Numără numărul de caractere dintr-un șir, eliminând valorile nule. | Returnează dimensiunea unui operand, nu lungimea șirului (inclusiv valorile nule). |
Alocă memorie în timpul rulării și caută valoarea nulă a variabilei. | Sizeof () nu-i pasă de valoarea variabilă. |
Funcția Strlen () funcționează numai cu șiruri de caractere | Funcția Sizeof () returnează cantitatea de memorie alocată în octeți. |
Valoarea returnată în strlen () este lungă int. | Valoarea returnată în sizeof () este nesemnată int. |
Există o singură sintaxă a strlen () care este int strlen (const char * str); | Există trei sintaxi de sizeof () 1) sizeof (tip), 2) sizeof (nume-variabilă) și 3) sizeof (expresie): |