C-Strings (Polski)
ciągi są w rzeczywistości jednowymiarową tablicą znaków zakończoną znakiem null „\0”. Tak więc łańcuch zakończony znakiem null zawiera znaki, które składają się na łańcuch, po którym następuje null.
następująca deklaracja i inicjalizacja tworzą łańcuch składający się ze słowa „Hello”., Aby utrzymać znak null na końcu tablicy, rozmiar tablicy zawierającej łańcuch znaków jest o jeden więcej niż liczba znaków w słowie ” Hello.”
char greeting = {"H", "e", "l", "l", "o", "\0"};
jeśli zastosujesz się do zasady inicjalizacji tablicy, możesz napisać powyższą instrukcję w następujący sposób −
char greeting = "Hello";
Poniżej znajduje się prezentacja pamięci powyższego zdefiniowanego ciągu w C/C++ −
, znak null nie jest umieszczany na końcu stałej łańcuchowej., Kompilator C automatycznie umieszcza „\0” Na końcu łańcucha podczas inicjalizacji tablicy., Spróbujmy wydrukować wyżej wymieniony ciąg znaków −
#include <stdio.h>int main () { char greeting = {"H", "e", "l", "l", "o", "\0"}; printf("Greeting message: %s\n", greeting ); return 0;}
gdy powyższy kod zostanie skompilowany i wykonany, wygeneruje on następujący wynik −
Greeting message: Hello
C obsługuje szeroki zakres funkcji, które manipulują zakończonymi znakiem null łańcuchami-
poniższy przykład wykorzystuje niektóre z wyżej wymienionych funkcji −
Gdy powyższy kod jest kompilowany i wykonywany, daje następujący wynik-
strcpy( str3, str1) : Hellostrcat( str1, str2): HelloWorldstrlen(str1) : 10