Disposições de caráter
Uma constante da corda, como
"I am a string"
é uma disposição dos caráteres. É representada internamente em C pelos caráteres de ASCII na corda, isto é, “I”, o espaço em branco, “a”, “m”,… ou a corda acima, e terminado pelo “especial do caráter nulo \ 0” assim que programas podem encontrar a extremidade da corda.
As constantes da corda são usadas frequentemente em fazer a saída do printf usando-se intelligible do código:
printf("Hello, world\n");
printf("The value of a is: %f\n", a);
As constantes da corda podem ser associadas com as variáveis. C fornece o tipo de caráter variável, que pode conter um caráter (1 byte) em um momento. Uma corda de caráter é armazenada em uma disposição do tipo de caráter, um caráter de ASCII por a posição.
Nunca esquecer-se de que, desde que as cordas são terminadas convencionalmente pelo “do caráter nulo \ 0”, nós requeremos uma posição extra do armazenamento na disposição.
C não fornece nenhum operador que manipular cordas inteiras em uma vez. As cordas são manipuladas através dos ponteiros ou através das rotinas especiais disponíveis da biblioteca padrão string.h. da corda.
Usar ponteiros do caráter é relativamente fácil desde que o nome de uma disposição é um justo um ponteiro a seu primeiro elemento. Considerar o programa dado em seguida:
#include<stdio.h>
void main()
{
char text_1[100], text_2[100], text_3[100];
char *ta, *tb;
int i;
/* set message to be an arrray */
/* of characters; initialize it */
/* to the constant string "..." */
/* let the compiler decide on */
/* its size by using [] */
char message[] = "Hello, I am a string; what are
you?";
printf("Original message: %s\n", message);
/* copy the message to text_1 */
i=0;
while ( (text_1[i] = message[i]) != '\0' )
i++;
printf("Text_1: %s\n", text_1);
/* use explicit pointer arithmetic */
ta=message;
tb=text_2;
while ( ( *tb++ = *ta++ ) != '\0' )
;
printf("Text_2: %s\n", text_2);
}
A saída do programa será como segue:
Original message: Hello, I am a string; what are you?
Text_1: Hello, I am a string; what are you?
Text_2: Hello, I am a string; what are you? |
A biblioteca padrão da “corda” contem muitas funções úteis para manipular as cordas, que nós aprenderemos na seção da corda mais tarde.
|