Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Différence entre strlen() et sizeof() pour la chaîne en C

Qu'est-ce que strlen()

strlen() est une fonction pour trouver la longueur d'une chaîne. Il compte le nombre total de caractères présentés dans une chaîne, éliminant le caractère nul. Le nombre total de caractères dans la chaîne comprend les alphabets, les caractères spéciaux et les chiffres, avec des espaces vides.

Dans cette différence entre strlen() et sizeof() pour la chaîne dans le didacticiel C, vous apprendrez :

Qu'est-ce que sizeof()

Le sizeof() est une fonction qui est utilisée pour calculer la taille de son opérande. Il renvoie la taille d'une variable particulière. Cette fonction peut être appliquée à n'importe quel type de données, contenant des types primitifs tels que des types entiers et pointeurs, des types à virgule flottante, une structure ou une union. La sortie du programme contenant sizeof() peut être différente sur le système 32 bits et le système 64 bits.

DIFFÉRENCES CLÉS :

Syntaxe de strlen()

strcount = strlen(my_string); 

Ici, my_string est une variable de tableau de caractères.

Exemple de strlen()

Dans le programme C ci-dessous, nous avons déclaré une variable chaîne de type char. La variable Strng est passée en argument de la fonction strlen() pour trouver la longueur de la chaîne.

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

Sortie :

Length of given string is: 7

Syntaxe de sizeof()

Syntaxe 1)

taillede(type) : Type=type référencé

Exemple de sizeof(type) :

Dans le code ci-dessous, &type donne l'adresse de la variable (double x). Elle est incrémentée de 1 qui donne l'adresse où vous pouvez stocker la prochaine variable de type x.

Transcrire x en char* et prendre la différence vous permettra de connaître le nombre total de variables de type char stockées en mémoire. Nous avons utilisé getchar() pour lire le caractère.

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

sortie :

8

Syntaxe 2)

taillede(nom-variable) : Variable-name=nom de la variable dont vous souhaitez déterminer la taille.

Dans le programme C ci-dessous, nous imprimons le type de données size char. L'instruction Printf contient la fonction sizeof avec l'argument char.

Exemple de sizeof(nom-variable):

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

Sortie :

sizeof(char) = 1  

Syntaxe 3)

taillede(expression) : Expression=Expression que vous devez évaluer.

Exemple de sizeof(expression) :

Dans le programme ci-dessous, nous calculons et imprimons d'abord la taille de la variable. Après cela, nous évaluons l'expression, la stockons dans la variable a et affichons le résultat dans l'instruction printf.

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

Sortie :

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

Différence entre strlen() et sizeof()

Voici les différences importantes entre strlen() et sizeof() :

Strlen() Taillede() Strlen() est une fonction prédéfinie, qui est définie dans un fichier d'en-tête appelé string.h.Sizeof() est un opérateur unaire ou une expression de compilation qui calcule la quantité de mémoire occupée par une variable. Cette méthode est utilisée pour trouver la longueur d'un tableau de chaînes ou de caractères.Cette méthode est utilisée pour trouver la taille réelle des données (allouées) en octets.Elle compte le nombre de caractères dans une chaîne en éliminant les valeurs nulles.Elle renvoie la taille d'un opérande, pas la longueur de la chaîne (y compris les valeurs nulles).Il alloue de la mémoire au moment de l'exécution et recherche la valeur nulle de la variable.Sizeof() ne se soucie pas de la valeur de la variable.La fonction Strlen() ne fonctionne qu'avec des chaînes de caractèresLa fonction Sizeof() renvoie le montant de mémoire allouée en octets. La valeur de retour dans strlen() est un entier long. La valeur de retour dans sizeof() est un entier non signé. Il n'y a qu'une seule syntaxe de strlen() qui est int strlen(const char *str); de sizeof() 1) sizeof(type), 2) sizeof(nom de la variable) et 3) sizeof(expres sion):

Langue C

  1. Différence entre l'amiante et la fibre de verre
  2. Différence entre structure et union
  3. C# vs. C++ :Quelle est la différence entre C# et C++ ?
  4. Différence entre C et C++
  5. Différence entre C et Java
  6. Python vs JavaScript :Différence entre JavaScript et Python
  7. La différence entre les moteurs à courant continu et à courant alternatif
  8. Différence entre le brasage et le soudage
  9. Différence entre les moteurs 2 temps et 4 temps