Zapis gwiazdki w programowaniu w C/C++ oznacza 2 rzeczy:
1. Mnożenie.
2. Wskaźniki.
W twoim przypadku są to wskaźniki. Wskaźniki w tych językach pełnią 2 role:
1. Tradycyjnych wskaźników odwołujących się na pewien adres. Czyli miejsca w pamięci (zmiennej) trzymającej adres w pamięci i rozmiarze sizeof(size_t).
2. Tablic (przechowują adres tablicy, bez jej rozmiaru).
W twoim przypadku jest to tablica nazwana "łańcuchem znakowym języka C". Łańcuch znakowy języka C ma typ char* lub const char*, oraz kończy się znakiem '\0' czyli zerem binarnym. Bez niego podczas wypisywania łańcucha możemy wypisać inne dane, kod lub spowodować wyjątek związany z brakiem zaalokowanej pamięci.
W przypadku wpisywanych w kodzie źródłowym napisów jest używany typ const char*. Jest to również lepsza wersja od char*, ale trzeba pamiętać, że nie można w niej nic zapisywać. Istnieje automatyczna konwersja z char* na const char*.
1. Mnożenie.
2. Wskaźniki.
W twoim przypadku są to wskaźniki. Wskaźniki w tych językach pełnią 2 role:
1. Tradycyjnych wskaźników odwołujących się na pewien adres. Czyli miejsca w pamięci (zmiennej) trzymającej adres w pamięci i rozmiarze sizeof(size_t).
2. Tablic (przechowują adres tablicy, bez jej rozmiaru).
W twoim przypadku jest to tablica nazwana "łańcuchem znakowym języka C". Łańcuch znakowy języka C ma typ char* lub const char*, oraz kończy się znakiem '\0' czyli zerem binarnym. Bez niego podczas wypisywania łańcucha możemy wypisać inne dane, kod lub spowodować wyjątek związany z brakiem zaalokowanej pamięci.
W przypadku wpisywanych w kodzie źródłowym napisów jest używany typ const char*. Jest to również lepsza wersja od char*, ale trzeba pamiętać, że nie można w niej nic zapisywać. Istnieje automatyczna konwersja z char* na const char*.