elemento como um \0. A declaracao geral para uma string e:char nome_da_string [tamanho];Devemos lembrar que o tamanho da string deve incluir o \0 final. A biblioteca padraodo C possui diversas funcoes que manipulam strings. Estas funcoes sao uteis pois, nao sepode, por exemplo, igualar duas strings:36string1=string2; /* NAO faca isto */Fazer isto e um desastre. Quando voce terminar de ler a secao que trata de ponteirosvoce entendera porque. As strings devem ser igualadas elemento a elemento.Quando vamos fazer programas que tratam de string muitas vezes podemos fazer bomproveito do fato de que uma string termina com \0 (isto e, o numero inteiro 0). Veja, porexemplo, o programa abaixo que serve para igualar duas strings (isto e, copia os caracteres deuma string para o vetor da outra):#include <stdio.h>int main (){int count;char str1[100],str2[100];.... /* Aqui o programa le str1 que sera copiada para str2 */for (count=0;str1[count];count++)str2[count]=str1[count];str2[count]=\0;.... /* Aqui o programa continua */}A condicao no loop for acima e baseada no fato de que a string que esta sendo copiadatermina em \0. Quando o elemento encontrado em str1[count] e o \0, o valor retornadopara o teste condicional e falso (nulo). Desta forma a expressao que vinha sendo verdadeira(nao zero) continuamente, torna-se falsa.Vamos ver agora algumas funcoes basicas para manipulacao de strings.getsA funcao gets() le uma string do teclado. Sua forma geral e:gets (nome_da_string);O programa abaixo demonstra o funcionamento da funcao gets():#include <stdio.h>int main (){char string[100];printf ("Digite o seu nome: ");gets (string);printf ("\n\n Ola %s",string);return(0);}Repare que e valido passar para a funcao printf() o nome da string. Voce vera maisadiante porque isto e valido. Como o primeiro argumento da funcao printf() e uma stringtambem e valido fazer:37printf (string);isto simplesmente imprimira a string.strcpySua forma geral e:strcpy (string_destino,string_origem);A funcao strcpy() copia a string-origem para a string- destino. Seu funcionamento esemelhante ao da rotina apresentada na secao anterior. As funcoes apresentadas nestassecoes estao no arquivo cabecalho string.h. A seguir apresentamos um exemplo de uso dafuncao strcpy():#include <stdio.h>#include <string.h>int main (){char str1[100],str2[100],str3[100];printf ("Entre com uma string: ");gets (str1);strcpy (str2,str1); /* Copia str1 em str2 */strcpy (str3,"Voce digitou a string "); /* Copia "Voce digitou a string" em str3 */printf ("\n\n%s%s",str3,str2);return(0);}strcatA funcao strcat() tem a seguinte forma geral:strcat (string_destino,string_origem);A string de origem permanecera inalterada e sera anexada ao fim da string de destino.Um exemplo:#include <stdio.h>#include <string.h>int main (){char str1[100],str2[100];printf ("Entre com uma string: ");gets (str1);strcpy (str2,"Voce digitou a string ");strcat (str2,str1); /* str2 armazenara Voce digitou a string + o conteudo de str1 */printf ("\n\n%s",str2);return(0);}strlenSua forma geral e:strlen (string);38A funcao strlen() retorna o comprimento da string fornecida. O terminador nulo nao econtado. Isto quer dizer que, de fato, o comprimento do vetor da string deve ser um a maisque o inteiro retornado por strlen(). Um exemplo do seu uso:#include <stdio.h>#include <string.h>int main (){int size;char str[100];printf ("Entre com uma string: ");gets (str);size=strlen (str);printf ("\n\nA string que voce digitou tem tamanho %d",size);return(0);}strcmpSua forma geral e:strcmp (string1,string2);A funcao strcmp() compara a string 1 com a string 2. Se as duas forem identicas afuncao retorna zero. Se elas forem diferentes a funcao retorna nao-zero. Um exemplo da suautilizacao:#include <stdio.h>#include <string.h>int main (){char str1[100],str2[100];printf ("Entre com