No exemplo mostrado acima, o comprimento da string str é 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.
//Exemplo 1.c#incluir
int stringLength (char * str)
int i = 0;
enquanto (str [i] != '\ 0') i ++;
return i;
int main ()
char str [30] = "STRING";
printf ("Comprimento da string str é =>% d \ n", stringLength (str));
return 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 corda.
função strlen ():
Arquivo de cabeçalho:
fragmento.hSintaxe:
size_t strlen (const char * str)Argumento: Esta função recebe um argumento do ponteiro de tipo para char.
Valor de retorno: Esta função retorna o comprimento da string str. Observe que size_t é apenas um apelido de um inteiro sem sinal.
// Exemplo2.c#incluir
#incluir
int main ()
char str1 [30] = "STRING ARRAY";
char * str2;
char * str3;
str2 = str1;
str3 = "STRING POINTER";
printf ("O comprimento da string str1 é =>% ld \ n", strlen (str1));
printf ("O comprimento da string str2 é =>% ld \ n", strlen (str2));
printf ("O comprimento da string str3 é =>% ld \ n", strlen (str3));
printf ("Comprimento da string" STRING LITERAIS "é =>% ld \ n", strlen ("STRING LITERAIS"));
return 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 sizeof Operator
Também podemos usar o tamanho de operador para comprimento de string (apenas para literal de string). 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.
// Exemplo3.c#incluir
int main ()
char str1 [30] = "STRING";
char * str2 = str1;
printf ("Comprimento de" STRING "é =>% d \ n", (sizeof ("STRING") - 1));
printf ("O tamanho alocado da matriz str1 é =>% d \ n", sizeof (str1));
printf ("O tamanho do ponteiro str2 é =>% d \ n", sizeof (str2));
return 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 uma matriz para o operador sizeof, ele retorna o tamanho alocado da matriz, que é 30, e ao passar um ponteiro de caractere, ele retorna o tamanho do ponteiro.
Conclusão
Então, 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ê.