Merkkijonon strlen () ja sizeof () välinen ero C: ssä

Sisällysluettelo:

Anonim

Mikä on strlen ()

strlen () on funktio merkkijonon pituuden löytämiseksi. Se laskee merkkijonossa esitetyt merkit, mikä eliminoi tyhjän merkin. Merkkijonon merkkien kokonaismäärä sisältää aakkoset, erikoismerkit ja numerot tyhjillä välilyönneillä.

Tässä erossa strlen (): n ja sizeof (): n välillä merkkijonossa C-opetusohjelmassa opit:

  • Mikä on strlen ()
  • Mikä on sizeof ()
  • Strlen: n syntaksi ()
  • Syntaksi sizeof ()
  • Ero strlen () ja sizeof () välillä

Mikä on sizeof ()

Sizeof () on funktio, jota käytetään operandin koon laskemiseen. Se palauttaa tietyn muuttujan koon. Tätä toimintoa voidaan käyttää mihin tahansa tietotyyppiin, joka sisältää primitiivisiä tyyppejä, kuten kokonaisluku- ja osoitintyypit, liukulukutyypit, rakenne tai liitos. Sizeof (): n sisältävän ohjelman ulostulo voi olla erilainen 32- ja 64-bittisessä järjestelmässä.

AVAINEROT:

  • Strlen-menetelmää käytetään taulukon pituuden selvittämiseen, kun taas sizeof () -menetelmää käytetään todellisen datan koon löytämiseen.
  • Strlen () laskee merkkijonojen merkkijonon, kun taas sizeof () palauttaa operandin koon.
  • Strlen () etsii muuttujan nolla-arvoa, mutta sizeof () ei välitä muuttujan arvosta.
  • Palautusarvo strlen (): ssä on pitkä int ja toisaalta paluuarvo sizeof: ssä () on allekirjoittamaton int.

Strlen: n syntaksi ()

strcount = strlen(my_string);

Tässä my_string on merkkimatriisimuuttuja.

Esimerkki strlen ()

Alla olevassa C-ohjelmassa olemme julistaneet merkkijonon muuttujan. Strng-muuttuja välitetään strlen () -funktion argumenttina merkkijonon pituuden löytämiseksi.

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

Tuotos:

Length of given string is: 7

Syntaksi sizeof ()

Syntaksi 1)

sizeof (type): Tyyppi = viitattu tyyppi

Esimerkki sizeof (type):

Alla olevassa koodissa & type antaa muuttujan osoitteen (kaksinkertainen x). Se kasvaa arvolla 1, joka antaa osoitteen, johon voit tallentaa seuraavan tyypin x muuttujan.

Kun kirjoitat x: n chariksi * ja otat eron, voit tietää muistiin tallennettujen tyypin char muuttujien kokonaismäärän. Olemme käyttäneet getcharia () hahmon lukemiseen.

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

lähtö:

8

Syntaksi 2)

sizeof (muuttujanimi): Muuttujanimi = sen muuttujan nimi, jonka haluat määrittää koon.

Tulostamme alla olevassa C-ohjelmassa koon char -tietotyyppiä. Printf-lause sisältää funktion sizeof argumenttimerkillä.

Esimerkki sizeof (muuttujanimestä):

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

Tuotos:

sizeof(char) = 1

Syntaksi 3)

sizeof (lauseke): Lauseke = Lauseke, joka sinun on arvioitava.

Esimerkki koko (lauseke):

Seuraavassa ohjelmassa laskemme ja tulostamme ensin muuttujan koon. Tämän jälkeen arvioimme lauseketta, tallennamme sen muuttujaan a ja näytämme tuloksen printf-käskyssä.

#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;}

Tuotos:

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

Ero strlen () ja sizeof () välillä

Tässä ovat tärkeät erot strlen (): n ja sizeof: n () välillä:

Strlen () Koko()
Strlen () on ennalta määritetty funktio, joka määritetään otsikkotiedostossa, joka tunnetaan nimellä string.h. Sizeof () on unaarinen operaattori tai kokoamisajan lauseke, joka laskee muuttujan käyttämän muistin määrän.
Tätä menetelmää käytetään merkkijonon tai merkkijonon pituuden selvittämiseen. Tätä menetelmää käytetään etsimään datan todellinen koko (varattu) tavuina.
Se laskee merkkijonon merkkijonon eliminoimalla nolla-arvot. Se palauttaa operandin koon, ei merkkijonon pituutta (nolla-arvot mukaan lukien).
Se varaa muistin ajon aikana ja etsii muuttujan nolla-arvon. Sizeof () ei välitä muuttujan arvosta.
Strlen () -toiminto toimii vain merkkijonojen kanssa Funktio Sizeof () palauttaa tavuina jaetun muistin määrän.
Paluuarvo strlen (): ssä on pitkä int. Palautusarvo sizeof: ssä () on allekirjoittamaton int.
Strlen: n () syntaksia on vain yksi, joka on int strlen (const char * str); On olemassa kolme syntaksia: sizeof () 1) sizeof (type), 2) sizeof (variable name) ja 3) sizeof (lauseke):