Menu
Coddy logo textTech

Ciągi znaków w stylu C — część 2

Część sekcji Podstawy ścieżki C++ w Coddy. Lekcja 68 z 74.

Warto pamiętać, że gdy deklarujesz ciąg znaków w stylu C o określonym rozmiarze, musisz przydzielić wystarczająco dużo miejsca na znaki, które chcesz przechować, oraz jedno dodatkowe miejsce na znak null.

Na przykład:

// Poprawnie: "Hello" wymaga 6 miejsc
// (5 liter + '\0')
char str1[6] = "Hello";
// Źle: tablica jest za mała!
// "Hello" potrzebuje 6 miejsc, ale przydzielono tylko 5
char str2[5] = "Hello";
// Błąd: kod się nie skompiluje — jest tylko 5 miejsc na 6 znaków ('H','e','l','l','o','\0')
// Poprawnie: Dodatkowe miejsce nie stanowi problemu
// Więcej niż wystarczająco miejsca (10 > 6 wymaganych)
char str3[10] = "Hello";
// Przykład pokazujący liczbę znaków:
char name[5] = "John";  // Wymaga 5 miejsc:
// J + o + h + n + '\0' = 5 znaków

Możesz uzyskać dostęp do poszczególnych znaków w ciągu znaków w stylu C, używając notacji tablicowej:

char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'

Możesz także modyfikować znaki w łańcuchu znaków w stylu C, o ile nie przekroczysz granic tablicy:

char str[] = "Hello";
str[0] = 'J';
std::cout << str; // Wyświetla "Jello"

Nie możesz jednak bezpośrednio przypisać nowego ciągu znaków do ciągu znaków w stylu C po jego zadeklarowaniu. Musisz użyć funkcji takich jak strcpy do kopiowania ciągów znaków, co omówimy na późniejszych lekcjach.

Spróbuj swoich sił

Ta lekcja nie zawiera wyzwania z kodem.

quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator C++ online