Kurs programowania w C cz. 113

Nasza ocena:

5
Pobrań: 7
Wyświetleń: 630
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C cz. 113 - strona 1

Fragment notatki:

130 ROZDZIAŁ 18. NAPISY printf("%s", tekst); Większość funkcji działających na napisach znajduje się w pliku nagłówkowym  string.h. Jeśli łańcuch jest zbyt długi, można zapisać go w kilku linijkach, ale wtedy przechodząc do następnej linii musimy na końcu postawić znak “\”. printf("Ten napis zajmuje \ więcej niż jedną linię"); Instrukcja taka wydrukuje: Ten napis zajmuje więcej niż jedną linię Możemy zauważyć, że napis, który w programie zajął więcej niż jedną linię, na ekranie zajął tylko jedną. Jest tak, ponieważ “\” informuje kompilator, że łańcuch będzie kontynu- owany w następnej linii kodu — nie ma wpływu na prezentację łańcucha. Aby wydrukować napis w kilku liniach należy wstawić do niego \n (“n” pochodzi tu od “new line”, czyli “nowa linia”). printf("Ten napis\nna ekranie\nzajmie więcej niż jedną linię."); W wyniku otrzymamy: Ten napis na ekranie zajmie więcej niż jedną linię. Jak komputer przechowuje w pamięci łańcuch? Rysunek 18.1: Napis “Merkkijono” przechowywany w pamięci Zmienna, która przechowuje łańcuch znaków, jest tak naprawdę wskaźnikiem do ciągu znaków (bajtów) w pamięci. Możemy też myśleć o napisie jako o tablicy znaków (jak wyja- śnialiśmy wcześniej,  tablice to też wskaźniki). Możemy wygodnie zadeklarować napis: char *tekst = "Jakiś tam tekst"; /* Umieszcza napis w obszarze danych programu */ /* i przypisuje adres */ char tekst[] = "Jakiś tam tekst"; /* Umieszcza napis w tablicy */ char tekst[] = {’J’,’a’,’k’,’i’,’s’,’ â€™,’t’,’a’,’m’,’ â€™,’t’,’e’,’k’,’s’,’t’,’\0’}; /* Tekst to taka tablica jak każda inna */ Kompilator automatycznie przydziela wtedy odpowiednią ilość pamięci (tyle bajtów, ile jest liter plus jeden dla kończącego nulla). Jeśli natomiast wiemy, Å¼e dany Å‚ańcuch powinien przechowywać określoną ilość znaków (nawet, jeśli w deklaracji tego Å‚ańcucha podajemy mniej znaków) deklarujemy go w taki sam sposób, jak tablicę jednowymiarową: char tekst[80] = "Ten tekst musi być krótszy niż 80 znaków"; ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz