Allineamenti di carattere
Un costante della stringa, come
"I am a string"
è un allineamento dei caratteri. È rappresentato internamente in C dai caratteri di ASCII nella stringa, cioè, "la I", lo spazio in bianco, "la a", "la m.",… o la suddetta stringa e terminato dal "speciale \ 0" in modo da programmi del carattere nullo possono trovare l'estremità della stringa.
I costanti della stringa sono usati spesso nel fare l'uscita del printf usando comprensibile di codice:
printf("Hello, world\n");
printf("The value of a is: %f\n", a);
I costanti della stringa possono essere associati con le variabili. La C fornisce il tipo di carattere variabile, che può contenere un carattere (1 byte) alla volta. Una serie di caratteri è immagazzinata in un allineamento del tipo di carattere, un carattere di ASCII per posizione.
Non dimenticar mai che, poiché le stringhe sono terminate convenzionalmente dal "\ 0" del carattere nullo, richiediamo una posizione supplementare di immagazzinaggio nell'allineamento.
La C non fornisce ad alcun operatore che maneggi le intere stringhe immediatamente. Le stringhe sono maneggiate via gli indicatori o via le procedure speciali disponibili dalla biblioteca standard string.h. della stringa.
Usando gli indicatori del carattere è relativamente facile poiché il nome di un allineamento è un giusto un indicatore al relativo primo elemento. Considerare il programma dato dopo:
#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);
}
L'uscita del programma sarà come 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? |
La biblioteca standard "della stringa" contiene molte funzioni utili per maneggiare le stringhe, che impareremo più successivamente nella sezione della stringa.
|