Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Diferença entre strlen() e sizeof() para string em C

O que é strlen()


strlen() é uma função para encontrar o comprimento de uma string. Conta o total de caracteres que são apresentados em uma string, eliminando o caractere nulo. O número total de caracteres na string inclui alfabetos, caracteres especiais e números, com espaços em branco.

Nesta diferença entre strlen() e sizeof() para string no tutorial C, você aprenderá:

O que é sizeof()


O sizeof() é uma função que é usada para calcular o tamanho de seu operando. Ele retorna o tamanho de determinada variável. Esta função pode ser aplicada a qualquer tipo de dados, contendo tipos primitivos como tipos inteiros e de ponteiro, tipos de ponto flutuante, estrutura ou união. A saída do programa que contém sizeof() pode ser diferente no sistema de 32 bits e no sistema de 64 bits.

DIFERENÇAS PRINCIPAIS:

Sintaxe de strlen()

strcount = strlen(my_string); 

Aqui, my_string é uma variável de matriz de caracteres.

Exemplo de strlen()


No programa C abaixo, declaramos a variável string do tipo char. A variável strng é passada como um argumento da função strlen() para encontrar o comprimento da string.
#include<stdio.h> 
#include<string.h> 
int main() 
{ 
    char strng[] = "January"; 
    printf("Length of given string is: %lu\n", strlen(strng));   
}

Saída:
Length of given string is: 7

Sintaxe de sizeof()

Sintaxe 1)


sizeof(tipo): Tipo =tipo referenciado

Exemplo de sizeof(type):

No código abaixo, &type fornece o endereço da variável (double x). Ele é incrementado com 1 que fornece o endereço onde você pode armazenar a próxima variável do tipo x.

Typecasting x em char* e tirar a diferença permitirá que você saiba o número total de variáveis ​​do tipo char armazenadas na memória. Usamos getchar() para ler o caractere.
#include<stdio.h> 
#define my_sizeof(type) (char *)(&type+1)-(char*)(&type) 
int main() 
{ 
    double x; 
    printf("%ld", my_sizeof(x)); 
    getchar(); 
    return 0; 
}

saída:
8

Sintaxe 2)


sizeof(nome-variável): Variable-name=nome da variável que você deseja determinar o tamanho.

No programa C abaixo, estamos imprimindo o tipo de dados size char. A instrução Printf contém a função sizeof com o argumento char.

Exemplo de sizeof(nome-variável):
#include<stdio.h>
int main()
{
	printf("sizeof(char) = %d\n\n", sizeof(char));
		
	return 0;
}

Saída:
sizeof(char) = 1  

Sintaxe 3)


sizeof(expressão): Expression=Expressão que você deve avaliar.

Exemplo de sizeof(expressão):

No programa abaixo, primeiro calculamos e imprimimos o tamanho da variável. Depois disso, estamos avaliando a expressão, armazenando-a na variável a e exibindo o resultado na instrução 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;
}

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

Diferença entre strlen() e sizeof()


Aqui estão as diferenças importantes entre strlen() e sizeof():


Strlen() Tamanho de() Strlen() é uma função predefinida, que é definida em um arquivo de cabeçalho conhecido como string.h.Sizeof() é um operador unário ou expressão de tempo de compilação que calcula a quantidade de memória ocupada por uma variável. Este método é usado para encontrar o comprimento de um array de string ou caractere.Este método é usado para encontrar o tamanho real dos dados (alocados) em bytes.Ele conta o número de caracteres em uma string eliminando valores nulos.Ele retorna o tamanho de um operando, não o comprimento da string (incluindo valores nulos). Ela aloca memória no tempo de execução e procura o valor nulo da variável. Sizeof() não se importa com o valor da variável. A função Strlen() funciona apenas com strings de caracteres A função Sizeof() retorna a quantidade de memória alocada em bytes. O valor de retorno em strlen() é longo int. O valor de retorno em sizeof() é unsigned int.Existe apenas uma sintaxe de strlen() que é int strlen(const char *str);Existem três sintaxes de sizeof() 1) sizeof(type), 2) sizeof(variable-name) e 3) sizeof(expres ção):

Linguagem C

  1. Diferença entre amianto e fibra de vidro
  2. Diferença entre Estrutura e União
  3. C# vs. C++:Qual é a diferença entre C# e C++?
  4. Diferença entre C e C++
  5. Diferença entre C e Java
  6. Python vs JavaScript:Diferença entre JavaScript e Python
  7. Python Vs Ruby:Diferença entre Ruby e Python
  8. A diferença entre motores CC e CA
  9. Diferença entre brasagem e solda
  10. Diferença entre motores 2 tempos e 4 tempos