De Series van het karakter
Een koordconstante, zoals
"I am a string"
is een serie van karakters. Het wordt vertegenwoordigd intern in C door de karakters van ASCII in het koord, d.w.z., "I", spatie, "a", "m"... of het bovengenoemde koord, en door het speciale ongeldige karakter "\0" geëindigd zodat kunnen de programma's het eind van het koord vinden.
De constanten van het koord worden vaak gebruikt in het maken van de output van code begrijpelijke gebruikende printf:
printf("Hello, world\n");
printf("The value of a is: %f\n", a);
De constanten van het koord kunnen met variabelen worden geassocieerd. C verstrekt de karaktertype variabele, die één karakter (1 byte) kan tegelijkertijd bevatten. Een karakterkoord wordt opgeslagen in een serie van karaktertype, één karakter van ASCII per plaats.
Vergeet nooit dat, aangezien de koorden conventioneel door het ongeldige karakter "\0" worden geëindigd, wij één extra opslagplaats in de serie vereisen.
C verstrekt geen exploitant wat volledige koorden meteen manipuleert. De koorden worden gemanipuleerd of via wijzers of via speciale routines beschikbaar bij de standaardkoordbibliotheek string.h.
Gebruiken van karakterwijzers is vrij gemakkelijk aangezien de naam van een serie enkel een wijzer aan zijn eerste element is. Bespreek het daarna gegeven programma:
#include<stdio.h>
void main()
{
char text_1[100], text_2[100], text_3[100];
char *ta, *tb;
int i;
/* vastgesteld bericht om arrray te zijn */
/* van karakters; initialiseer het */
/* aan het constante koord "..." */
/* laat de compiler beslissen over */
/* zijn grootte door te gebruiken [] */
char message[] = "Hello, I am a string; what are
you?";
printf("Original message: %s\n", message);
/* kopiëer het bericht aan text_1 */
i=0;
while ( (text_1[i] = message[i]) != '\0' )
i++;
printf("Text_1: %s\n", text_1);
/* rekenkunde van de gebruiks de expliciete wijzer */
ta=message;
tb=text_2;
while ( ( *tb++ = *ta++ ) != '\0' )
;
printf("Text_2: %s\n", text_2);
}
De output van het programma zal als volgt zijn:
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? |
De standaard "koord" bibliotheek bevat vele nuttige functies om koorden te manipuleren, die wij in de koordsectie later zullen leren.
|