Udostępnij za pośrednictwem


inicjowanie ciągów

Można zainicjować tablicę znaków (lub znaków dwubajtowych) literałem ciągu (lub literałem ciągu dwubajtowego).Na przykład:

char code[ ] = "abc";

inicjuje code jako czteroelementową tablicę znaków.Czwarty element jest znakiem null, który kończy wszystkie literały ciągu znaków.

Lista identyfikatorów może być tylko tak długa, jaka jest liczba identyfikatorów do zainicjowania.Jeżeli określono rozmiar tablicy, który jest mniejszy niż długość ciągu, dodatkowe znaki zostaną ignorowane.Na przykład, następująca deklaracja inicjuje code jako trójelementową tablicę znaków:

char code[3] = "abcd";

Tylko pierwsze trzy znaki inicjatora są przypisane do code.Znak d i znak null kończący ciąg znaków są odrzucane.Zauważ, że tworzy to niezakończony ciąg (czyli bez wartości 0 do oznaczenia jego końca) i generuje komunikat diagnostyczny wskazujący ten warunek.

Deklaracja

char s[] = "abc", t[3] = "abc";

jest identyczna z

char s[]  = {'a', 'b', 'c', '\0'}, 
     t[3] = {'a', 'b', 'c' };

Jeśli ciąg ma mniejszą długość niż określony rozmiar tablicy, pozostałe elementy tablicy zostaną zainicjowane na 0.

Specyficzne dla firmy Microsoft

W Microsoft C, literały ciągów mogą mieć maksymalnie 2048 bajtów długości.

KONIEC informacji specyficznych dla firmy Microsoft

Zobacz też

Koncepcje

Inicjalizacja