Znakowy typ danychZnakowy typ danych (ang. character data type) – typ danych stosowany w wielu językach programowania, reprezentujący jeden znak tekstu. Realizacja i właściwościTyp znakowy jest realizowany poprzez określony kod znaku, w zależności od implementacji może to być ASCII, EBCDIC, Unicode lub inny. Zapis konkretnej wartości typu znakowego w kodzie źródłowym dokonuje się za pomocą literału znakowego. W takich językach jak C czy C++, typ znakowy to po prostu 1-bajtowa liczba całkowita ze znakiem, w przypadku typu Popularne implementacjeJava
C/C++
Fortran
Pascal
Przykłady zastosowańPrzykład w CPrzykładowe działania na zmiennej typu #include <stdio.h>
char abs(char c_char)
{
if (c_char >= 0)
{
return c_char;
}
return -c_char;
}
int main()
{
char c_znak;
c_znak = 'a';
/* widzimy, że znak jest zapisany jako liczba. */
printf("Znak %c = %d.\n", c_znak, c_znak);
/* prosta operacja: */
c_znak+= 4; // zwiększenie znaku o 4
printf("Po zwiększeniu o 4, znak %c = %d.\n", c_znak, c_znak);
/* różnica dwóch znaków: */
char c_znak2 = 'o';
printf("między znakami %c (%d) a %c (%d) jest %d różnicy.\n",
c_znak, c_znak, c_znak2, c_znak2, abs(c_znak - c_znak2));
/* inne zastosowanie typu char (proste obliczenia arytmetyczne): */
for (unsigned char i = 0; i < 16; ++i)
{
printf("%d * %d + 2 = %d\n", i, i, i * i + 2);
}
}
Wynik działania: Znak a = 97. Po zwiększeniu o 4, znak e = 101. Między znakami e (101) a o (111) jest 10 różnicy. 0 * 0 + 2 = 2 1 * 1 + 2 = 3 2 * 2 + 2 = 6 3 * 3 + 2 = 11 4 * 4 + 2 = 18 (...) Przykład w FortraniePrzykład (zmienna character*(128) buffer
buffer = 'abc'
l = len(buffer)
buffer = buffer(:l) + 'cdef '
l = len(buffer)
buffer = buffer(:3) // ' xyx ' // buffer(4:) // ' pqr '
print *, '#' // buffer(:len(buffer))// '#'
Wynik działania - na wyjściu zobaczymy: #abc xyx cdef pqr # Powyżej wykorzystano:
Zobacz teżInformation related to Znakowy typ danych |