Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

Unterschied zwischen strlen() und sizeof() für Strings in C

Was ist strlen()

strlen() ist eine Funktion, um die Länge eines Strings zu ermitteln. Es zählt die Gesamtzahl der Zeichen, die in einer Zeichenfolge dargestellt werden, wobei das Nullzeichen eliminiert wird. Die Gesamtzahl der Zeichen in der Zeichenfolge umfasst Buchstaben, Sonderzeichen und Zahlen mit Leerzeichen.

In diesem Unterschied zwischen strlen() und sizeof() für Strings im C-Tutorial lernen Sie:

Was ist sizeof()

sizeof() ist eine Funktion, die verwendet wird, um die Größe ihres Operanden zu berechnen. Es gibt die Größe einer bestimmten Variablen zurück. Diese Funktion kann auf jeden Datentyp angewendet werden, der primitive Typen wie Integer- und Zeigertypen, Fließkommatypen, Strukturen oder Vereinigungen enthält. Die Ausgabe des Programms, das sizeof() enthält, kann auf dem 32-Bit-System und dem 64-Bit-System unterschiedlich sein.

WICHTIGE UNTERSCHIEDE:

Syntax von strlen()

strcount = strlen(my_string); 

Hier ist my_string eine Zeichen-Array-Variable.

Beispiel für strlen()

Im folgenden C-Programm haben wir eine String-Variable vom Typ char deklariert. Die Strng-Variable wird als Argument der Funktion strlen() übergeben, um die Länge der Zeichenfolge zu ermitteln.

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

Ausgabe:

Length of given string is: 7

Syntax von sizeof()

Syntax 1)

Größevon(Typ): Type=referenzierter Typ

Beispiel für sizeof(type):

Im folgenden Code gibt &type die Adresse der Variablen an (doppeltes x). Es wird um 1 erhöht, was die Adresse ergibt, an der Sie die nächste Variable vom Typ x speichern können.

Wenn Sie x in char* umwandeln und die Differenz nehmen, können Sie die Gesamtzahl der im Speicher gespeicherten Variablen des Typs char ermitteln. Wir haben getchar() verwendet, um Zeichen zu lesen.

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

Ausgabe:

8

Syntax 2)

sizeof(Variablenname): Variablenname=Name der Variablen, deren Größe Sie bestimmen möchten.

Im folgenden C-Programm drucken wir den Datentyp size char. Printf-Anweisung enthält sizeof-Funktion mit Argument char.

Beispiel für sizeof(Variablenname):

#include<stdio.h>
int main()
{
	printf("sizeof(char) = %d\n\n", sizeof(char));
		
	return 0;
}

Ausgabe:

sizeof(char) = 1  

Syntax 3)

Größevon(Ausdruck): Expression=Auszuwertender Ausdruck.

Beispiel für sizeof(Ausdruck):

Im folgenden Programm berechnen und drucken wir zuerst die Größe der Variablen. Danach werten wir den Ausdruck aus, speichern ihn in Variable a und zeigen das Ergebnis in der printf-Anweisung an.

#include<stdio.h>
int 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;
}

Ausgabe:

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

Unterschied zwischen strlen() und sizeof()

Hier sind die wichtigen Unterschiede zwischen strlen() und sizeof():

Strlen() Sizeof() Strlen() ist eine vordefinierte Funktion, die in einer als string.h bekannten Header-Datei definiert ist. Sizeof() ist ein unärer Operator oder Ausdruck zur Kompilierzeit, der die Größe des von einer Variablen belegten Speichers berechnet Finden Sie die Länge eines Arrays aus Zeichenfolgen oder Zeichen. Diese Methode wird verwendet, um die tatsächliche Größe der Daten (zugewiesen) in Bytes zu ermitteln. Sie zählt die Anzahl der Zeichen in einer Zeichenfolge, wobei Nullwerte eliminiert werden. Sie gibt die Größe eines Operanden zurück, nicht die Zeichenfolgenlänge (einschließlich Nullwerte). Es weist zur Laufzeit Speicher zu und sucht nach dem Nullwert der Variablen. Sizeof() kümmert sich nicht um den Variablenwert. Die Strlen()-Funktion arbeitet nur mit Zeichenketten. Die Sizeof()-Funktion gibt die Menge zurück des in Bytes zugewiesenen Speichers. Rückgabewert in strlen() ist long int. Rückgabewert in sizeof() ist unsigned int. Es gibt nur eine Syntax von strlen(), nämlich int strlen(const char *str); Es gibt drei Syntaxen von sizeof() 1) sizeof(Typ), 2) sizeof(Variablenname) und 3) sizeof(expres sion):

C Sprache

  1. Unterschied zwischen Asbest und Glasfaser
  2. Unterschied zwischen Struktur und Union
  3. C# vs. C++:Was ist der Unterschied zwischen C# und C++?
  4. Unterschied zwischen C und C++
  5. Unterschied zwischen C und Java
  6. Python vs. JavaScript:Unterschied zwischen JavaScript und Python
  7. Python Vs Ruby:Unterschied zwischen Ruby und Python
  8. Der Unterschied zwischen Gleichstrom- und Wechselstrommotoren
  9. Unterschied zwischen Hartlöten und Weichlöten
  10. Unterschied zwischen 2-Takt- und 4-Takt-Motoren