Comprimento da string em linguagem C

String Length C Language



Uma string na linguagem C é uma matriz de caracteres que termina com um caractere nulo ( 0). O comprimento da string é o número de caracteres em uma string. No comprimento da string ‘ 0’, um caractere não é contado.







No exemplo mostrado acima, o comprimento da string p é 6.



Neste tutorial, primeiro, mostraremos como usar um função definida pelo usuário para calcular o comprimento de uma string, e então mostraremos a você uma função de biblioteca embutida strlen () . Também mostramos os usos do tamanho de operador para literais de string.



Comprimento da string usando a função definida pelo usuário

Você pode escrever uma função definida pelo usuário que retorna o número de caracteres em uma string.





//Example1.c
#incluir

intstringLength(Caracteres *p)
{
inteu=0;

enquanto(p[eu] ! = ' 0')eu++;

Retornaeu;
}

inta Principal()
{
Caracteresp[30]= 'FRAGMENTO';

printf ('Comprimento da string str é =>% d n',stringLength(p));

Retorna 0;
}

Aqui, iteramos o loop while de i = 0 até que não encontremos o ‘ 0’ personagem. O valor de eu é aumentado por 1 em cada iteração do loop while. Quando o loop termina, o valor de eu é o comprimento da corda.



Comprimento da string usando a função de biblioteca integrada

A função de biblioteca integrada strlen () também pode ser usado para determinar o comprimento da string.

função strlen ():

Arquivo de cabeçalho:

fragmento.h

Sintaxe:

size_t Strlen (const Caracteres *p)

Argumento: Esta função recebe um argumento do ponteiro de tipo para char.

Valor de retorno: Esta função retorna o comprimento da string p . Observe que size_t é apenas um apelido de um inteiro sem sinal.

//Example2.c
#incluir
#incluir

inta Principal()
{
Caracteresstr1[30]='STRING ARRAY';
Caracteres *str2;
Caracteres *str3;

str2=str1;
str3= 'STRING POINTER';

printf ('Comprimento da string str1 é =>% ld n', Strlen (str1));
printf ('Comprimento da string str2 é =>% ld n', Strlen (str2));
printf ('Comprimento da string str3 é =>% ld n', Strlen (str3));
printf ('Comprimento da corda'STRING LITERAIS'é =>% ld n', Strlen ('STRING LITERAIS'));

Retorna 0;
}

Aqui, passamos a matriz de string, o ponteiro de string e o literal de string para a função strlen, e a função retorna o comprimento da string.

Comprimento da coluna usando o operador sizeof

Também podemos usar o tamanho de operador para comprimento de string (apenas para string literal). Mas, temos que subtrair 1 do valor retornado por este operador, porque ele também conta o caractere ' 0'. Para matriz e ponteiro, o operador sizeof retorna o tamanho alocado da matriz e do ponteiro, respectivamente.

//Example3.c
#incluir

inta Principal()
{
Caracteresstr1[30] = 'FRAGMENTO';
Caracteres *str2=str1;

printf ('Comprimento de 'FRAGMENTO'é =>% d n',(tamanho de('FRAGMENTO') - 1));
printf ('O tamanho alocado da matriz str1 é =>% d n',tamanho de(str1));
printf ('Tamanho do ponteiro str2 é =>% d n',tamanho de(str2));

Retorna 0;
}

Aqui, na linha nº 9, passamos a string literal STRING e obtemos o tamanho, incluindo o caractere ‘ 0’. Então, subtraímos 1 e obtemos o tamanho real da string.

Quando passamos um array para o operador sizeof, ele retorna o tamanho alocado do array, que é 30, e ao passar um ponteiro de caractere, ele retorna o tamanho do ponteiro.

Conclusão

Portanto, neste tutorial, mostramos como o comprimento da string pode ser calculado de várias maneiras. Você pode usar em seu código o método mais adequado para você.