Mi a strlen ()
A strlen () egy függvény a karakterlánc hosszának megkeresésére. Megszámolja a karaktersorozatokban szereplő összes karaktert, megszüntetve a null karaktert. A karakterláncban szereplő karakterek száma ábécét, speciális karaktereket és számokat tartalmaz, üres szóközökkel.
Ebben a különbségben a strlen () és a sizeof () karakterlánc között a C oktatóanyagban megtudhatja:
- Mi a strlen ()
- Mi a sizeof ()
- A strlen () szintaxisa
- A sizeof () szintaxisa
- Különbség a strlen () és a sizeof () között
Mi a sizeof ()
A sizeof () egy olyan függvény, amelyet az operandus méretének kiszámítására használnak. Visszaadja az adott változó méretét. Ez a függvény bármilyen adattípusra alkalmazható, amely primitív típusokat tartalmaz, például egész- és mutatótípusokat, lebegőpontos típusokat, struktúrát vagy egyesítést. A sizeof () -t tartalmazó program kimenete eltérhet a 32 bites és a 64 bites rendszereken.
Főbb különbségek:
- A tömb hosszának meghatározására Strlen módszert, míg az adatok tényleges méretére a sizeof () metódust használjuk.
- A Strlen () megszámolja a karakterek számát egy karakterláncban, míg a sizeof () az operandus méretét adja vissza.
- Strlen () a változó nullértékét keresi, de a sizeof () nem törődik a változó értékével.
- A strlen () visszatérési értéke hosszú int, viszont a sizeof () értéke vissza nem írt int.
A strlen () szintaxisa
strcount = strlen(my_string);
Itt a my_string egy karakter tömb változó.
Példa a strlen ()
Az alábbi C programban deklaráltuk a char típusú string változót. Az Strng változó a strlen () függvény argumentumaként kerül átadásra a karakterlánc hosszának meghatározásához.
#include#include int main(){char strng[] = "January";printf("Length of given string is: %lu\n", strlen(strng));}
Kimenet:
Length of given string is: 7
A sizeof () szintaxisa
Szintaxis 1)
sizeof (type): Típus = hivatkozott típus
Példa sizeof (type) méretére:
Az alábbi kódban a & type megadja a változó címét (dupla x). 1-gyel növekszik, amely megadja azt a címet, ahol tárolhatja a következő x típusú változót.
Az x karakter beírása char-ba * és a különbség felvétele lehetővé teszi, hogy megismerje a memóriában tárolt char típusú változók teljes számát. A getchar () karaktert használtuk karakter olvasására.
#include#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)int main(){double x;printf("%ld", my_sizeof(x));getchar();return 0;}
Kimenet:
8
Szintaxis 2)
sizeof (változónév): Variable-name = annak a változónak a neve, amelyet meg szeretne határozni.
Az alábbi C programban a size char adattípust nyomtatjuk. A Printf utasítás a sizeof függvényt tartalmazza argumentum karakterrel.
Példa a sizeof (változónév) méretére:
#includeint main(){printf("sizeof(char) = %d\n\n", sizeof(char));return 0;}
Kimenet:
sizeof(char) = 1
Szintaxis 3)
sizeof (kifejezés): Kifejezés = Kifejezés, amelyet értékelnie kell.
Példa méretre (kifejezés):
Az alábbi programban először kiszámoljuk és kinyomtatjuk a változó méretét. Ezt követően kiértékeljük a kifejezést, eltároljuk az a változóban, és az eredményt megjelenítjük a printf utasításban.
#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;}
Kimenet:
Size of variable p : 1Size of an expression : 8Size of explicitly converted expression : 4
Különbség a strlen () és a sizeof () között
Itt vannak a strlen () és a sizeof () közötti fontos különbségek:
Strlen () | Mérete() |
A Strlen () egy előre definiált függvény, amelyet egy string.h néven ismert fejlécfájlban definiálunk. | A Sizeof () egy univerzális operátor vagy fordítási idejű kifejezés, amely kiszámítja a változó által elfoglalt memória mennyiségét. |
Ezt a módszert használják egy string vagy karakter tömb hosszának meghatározására. | Ezt a módszert használják az adatok tényleges (allokált) méretének bájtokban történő megkeresésére. |
Megszámolja a karakterek számát egy karakterláncban, megszüntetve a null értékeket. | Az operandus méretét adja vissza, nem a karakterlánc hosszát (a null értékeket is beleértve). |
Futtatás közben lefoglalja a memóriát, és megkeresi a változó null értékét. | A Sizeof () nem törődik a változó értékével. |
A Strlen () függvény csak karakterláncokkal működik | A Sizeof () függvény a bájtokban kiosztott memória mennyiségét adja vissza. |
A strlen () visszatérési értéke hosszú int. | A visszatérési érték a sizeof () -ben előjel nélküli int. |
A strlen () egyetlen szintaxisa létezik, amely int strlen (const char * str); | A sizeof () 1) sizeof (type), 2) sizeof (változónév) és 3) sizeof (kifejezés) három szintaxisa létezik: |