Como NÃO não limitar o tamanho de uma string em C
Por convenção, strings em C são terminadas pelo caractere de código 0, também chamado caractere nulo ou, apropriadamente, terminador (não confunda com o caractere que representa o dígito zero, cujo código é 48). Neste post, o programador usou a função strlen para determinar o tamanho da string e fechá-la com o caractere 0. O problema é que ele provavelmente não sabia como a função strlen funciona. Veja abaixo uma implementação bem simples desta função, que segue o padrão oficial:
int strlen(const char *str) { const char *p = str; int size = 0; while (*p++ != 0) size++; return size; }
Note que a função usa o próprio caractere nulo para determinar o tamanho da string. Dessa forma, o código x[strlen(x)] = 0 é redundante, não tem efeito.














