39007

39007



130


ROZDZIAŁ 18. NAPISY

printf("Xs", 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 “\".

printfCTen napis zajauje \ 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 l>ę<lzie kontynuowany 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 linę”, czyli “nowa linia”).

printf("Ten napis\nna ekranie\nzajnie 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?

0

1

2

3

4

5

« 7

8

9

10

M

c

r

k

k

i

i o

n

0

»

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 zadeklarowiić napis:

char *tekst • "Jakiś tam tekst"; /• Umieszcza napis w obszarze danych programu •/

/• i przypisuje adres •/

char tekstf] = "Jakiś tam tekst"; /• Umieszcza napis w tablicy •/ char tekst(] - {'J\’ał,’k\'i’,'s**.*t,.,e,»,k,,,sVt»,»\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ść ziutkó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";



Wyszukiwarka

Podobne podstrony:
049 TIF Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pusty
168 TIF nakże zachować w wypadku funkcji działających na napisach, które mają zwyczaj przechodzenia
049 TIF Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pusty
049 TIF Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pusty
Wszystkie funkcje działające na napisach zakładają, że napis będzie zakończony znakiem pustym. Probl
S7300073 -—--m—    -—] [tym większe toksyczne działanie na Imózg im wyższe stęże
P1030273 (3) I Większość leków działa na struktury białkowe, I ale są też takie, które działają bezp
18 Sprawozdanie z egzaminu maturalnego 2015 7 I 1.1.2.1. Wyznaczanie siły działającej na ciało w
P1030273 (3) I Większość leków działa na struktury białkowe, I ale są też takie, które działają bezp
P1030273 (3) I Większość leków działa na struktury białkowe, I ale są też takie, które działają bezp
ScanImage004 ! ą Duifrt TYtioPyiA Funkcje działające na datachFunkcja NEXT_DAYNEXT_DAY(da tal, dzień
ScanImage005 Funkcje działające na datach Do dat można też stosować wcześniej omówione funkcje zaokr
Funkcja printf printf("tekst opcjonalny + sp_for",argumenty); Funkcja printf wyprowadza te

więcej podobnych podstron