inicjowanie ciągów
Można zainicjować tablicę znaków (lub znaków szerokich) za pomocą literału ciągu (lub literału szerokiego ciągu). Na przykład:
char code[ ] = "abc";
inicjuje code
jako tablicę znaków z czterema elementami. Czwarty element jest znakiem null, który kończy wszystkie literały ciągu.
Lista identyfikatorów może być tylko tak długo, jak liczba identyfikatorów do zainicjowania. Jeśli określisz rozmiar tablicy krótszy niż ciąg, dodatkowe znaki są ignorowane. Na przykład następująca deklaracja inicjuje code
się jako tablica znaków z trzema elementami:
char code[3] = "abcd";
Tylko pierwsze trzy znaki inicjatora są przypisywane do code
elementu . Znak d
i znak null zakończenia ciągu są odrzucane. Należy pamiętać, że spowoduje to utworzenie nieokreślonego ciągu (czyli jednego bez wartości 0 w celu oznaczenia jej końca) i wygenerowanie komunikatu diagnostycznego wskazującego ten warunek.
Deklaracja
char s[] = "abc", t[3] = "abc";
jest identyczny z
char s[] = {'a', 'b', 'c', '\0'},
t[3] = {'a', 'b', 'c' };
Jeśli ciąg jest krótszy niż określony rozmiar tablicy, pozostałe elementy tablicy są inicjowane do 0.
Specyficzne dla firmy Microsoft
W języku Microsoft C literały ciągu mogą mieć długość do 2048 bajtów.
END Microsoft Specific