��#ࡱ#�################>###��
#############################�#######����############���������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
�����������####################
###
#######
##############################################################################
###!###"#######$###%###&###'###(###)###*###+###,###-
###.###/###0###1###2###3###4###5###6###7###8###9###:###;###<###=###>###?
###@###A###B###C###D###E###F###G###H###I###J###K###L###M###N###O###P###Q###R###S
###T###U###V###W###X###Y###Z###[###\###]###^###_###`###a###b###c###d###e###f###g
###h###i###j###k###l###m###n###o###p###q###r###s###t###u###v###w###x###y###z###{
###|###}###~###ࡱ###�###R#o#o#t#
#E#n#t#r#y#################################################��������#############
####################7+f}!
�#�###########P#P#4#0#########################################################
###����####����########################################
%.########S#u#m#m#a#r#y#I#n#f#o#r#m#a#t#i#o#n###########################(###����
��������########################################�###############################
############################################������������########################
########################�###�###�###�###�###�###�###�###�###�###�###�###�###�###
�###�###�###�###�###�###�###�###�###�###�###�###���������###�###����������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
���������������������������������������������������������
�
�
�
�
�
�
�
�
�
�
�
�
�#####E###�#1#
%.##f#�#(###(###y###[###########�#########################�##�###��#�###�#�#��##
���#���###�##�###��#�###�#�#��##���#��������������������������������������������
�����������������###������������������������������������������������������������
�###�������������������������������������������������������������###������������
�������������������������������������������������###����������������������������
���������������������������������#����������������������������������������������
����������������###�������������������������������������������������������������
###�������������������������������������������������������������##��������������
�����������������������������������������������###������������������������������
�������������������������������###����������������������������������������������
���������������###�������������������������������������������������������������#
##�������������������������������������������������������������###��������������
�����������������������������������������������#@�������������������������������
�������������������������������###����������������������������������������������
���������������###�������������������������������������������������������������#
p��������������������������������������������������������������###��������������
�����������������������������������������������###������������������������������
�������������������������������#������������������������������������������������
��������������###�������������������������������������������������������������##
#�������������������������������������������������������������###���������������
����������������������������������������������###�������������������������������
������������������������������###�����������������������������������������������
��������������#��������������������������������������������������������������###
�������������������������������������������������������������###����������������
���������������������������������������������#����������������������������������
���������������������������###��������������������������������������������������
�����������###�������������������������������������������������������������#����
����������������������������������������������������������###�������������������
������������������������������������������###�����������������������������������
��������������������������###���������������������������������������������������
����������###�������������������������������������������������������������###���
����������������������������������������������������������###�������������������
������������������������������������������###�����������������������������������
��������������������������###���������������������������������������������������
����������###�������������������������������������������������������������###���
����������������������������������������������������������###�������������������
������������������������������������������#p������������������������������������
�������������������������###����������������������������������������������������
���������###�������������������������������������������������������������###����
���������������������������������������������������������###��������������������
�����������������������������������������###������������������������������������
�������������������������###�������������������������##�###�##������������������
��������###��������������������������#��
#���������������������������###��������������������������� #�
#�#��������������������������###����������������������������
��������������������������###������������������������#��#�#���������������������
���������###�����������������������������������������������������������###������
�������������������������������������������������������###����������������������
���������������������������������������###��������������������������������������
�����������������������###������������������������������������������������������
�������###�������������������������������������������������������������###������
�������������������������������������������������������###����������������������
���������������������������������������###��������������������������������������
�����������������������###������������������������������������������������������
�������###�������������������������������������������������������������###������
�������������������������������������������������������###����������������������
���������������������������������������###��������������������������������������
�����������������������###������������������������������������������������������
�������###�������������������������������������������������������������###������
�������������������������������������������������������###����������������������
���������������������������������������###��������������������������������������
�����������������������###������������������������������������������������������
�������###�������������������������������������������������������������###������
�������������������������������������������������������###����������������������
���������������������������������������###��������������������������������������
�����������������������###������������������������������������������������������
�������###�������������������������������������������������������������###������
�������������������������������������������������������###����������������������
���������������������������������������#@���������������������������������������
�����������������������###������������������������������������������������������
�������###�������������������������������������������������������������###������
�������������������������������������������������������###����������������������
���������������������������������������###��������������������������������������
�����������������������###������������������������������������������������������
�������###�������������������������������������������������������������#######��
$##`##��$#####��$#####��$##�##��$##&##��%##�##��
%#####�w&#####�w&##�##�w&##&##�W'##"##�}'#####��'##�##��'#####�W(#####�W(#####�W
(##&##�k,##�##��,#####�Q-#####�Q-##�##�Q-##&##�1.##"##�W.#####�y.##
##��.#####��/#####��/##N##��/##&##��4##�##�
%5#####��5#####��5##�##��5##&##��6##"##��6#####�7##�##�
%7#####��7#####��7##�##��7##&##�S;##�##�y;#####�9<#####�9<##�##�9<##&##�#=##"##�
?=#####�a=##�##�y=#####�9>#####�9>## ##�9>##&##�YC##�##�ࡱC#####�?D#####�?
D##�##�?D##&##�#E##"##�EE#####�gE##�##�ࡱE#####�?F#####�?F##�##�?
F##&##��I##�##��I#####��J#####��J##�##��J##&##��K##"##��K#####��K##`##��K#####�U
M#####�UM#####�UM##&##�kR##�##��R#####�QS#####�QS##�##�QS##&##�1T##"##�WT#####�y
T##`##��T#####��U#####��U##`##��U##&##�Q[##�##�w[#####�7\#####�7\##�##�7\##&##�#
]##"##�=]#####�_]#####�w]#####�w^#####�w^##&##�w^##&##��a##�##��a#####��b#####��
b##�##��b##&##�cc##"##��c#####��c##`##��c#####�#e#####�#e##�##�#e##&##��j##�##�
%k#####��k#####��k##�##��k##&##��l##"##��l#####�m## ##�
%m#####�En#####�En##4##�En##&##�yt##�##��t#####�_u#####�_u##�##�_u##&##�?
v##"##�ev#####��v#####��v#####��w#####��w##�##��w##&##�u|##�##��|
#####�[}#####�[}##�##�[}##&##�;~##"##�a~#####��~##�##��~#####�{�#####�{�##j##�{�
##&##��##�##�#�#####�ˇ#####�ˇ##�##�ˇ##&##���##"##�ш#####��##@##�#�#####�K�#####�
K�#####�K�##&##�e�##�##���#####�K�#####�K�##�##�K�##&##�+�##"##�Q�#####�s�##�##�
��#####�#�#####�#�##N##�#�##&##�Y�##�##�ࡱ�#####�?�#####�?�##�##�?
�##&##�#�##"##�E�#####�g�#####�ࡱ�#####�ࡱ�#####�ࡱ�##�##�ࡱ�##&##�1�##�##�W�#####�#
�#####�#�##�##�#�##&##��##"##�#�#####�?
�#####�W�#####�W�#####�W�##�##�W�##&##�E�##�##�k�#####�+�#####�+�##�##�+�##&##�#
�##"##�1�#####�S�##�##�k�#####�+�#####�+�##�##�+�##&##�Ŷ##�##��#####���#####���#
#�##���##&##���##"##���#####�Ӹ##`##��#####�K�#####�K�##�##�K�##&##�#�##�##�-
�#####���#####���##�##���##&##���##"##���#####�#�##�##�-
�#####���#####���##�##���##&##���##�##���#####���#####���##�##���##&##�o�##"##��
�#####���#####���#####���#####���##�##���##&##���##�##���#####���#####���##�##��
�##&##���##"##���#####���##�##���#####���#####���##�##���##&##�U�##�##�{�#####�;
�#####�;�##�##�;�##&##�#�##"##�A�#####�c�##�##�{�#####�#�#####�#�##z##�#�##&##��
�##�##���#####�{�#####�{�##�##�{�##&##�[�##"##���#####���##
##���#####���#####���##�##���##&##���##�##���#####���#####���##�##���##&##���##"
##���#####���##
##���#####�#�#####�#�##�##�#�##&##�#�##�##�1�#####���#####���##�##���##&##���##"
##���#####�#�#####�1�#####�1�#####�1�##\##�1�##&##���##�##���#####�s�#####�s�##�
##�s�##&##�S�##"##�y�#####���##�##���#####�s�#####�s�##v##�s�##&##���##�##�#�###
##���#####���##�##���##&##���##"##���#####���##@##�#�#####�O�#####�O�#####�O�##&
##�a###�##��######�G######�G###�##�G###&##�'###"##�M######�o###@##��######��####
##��###�##��###&##�_
##�##��
#####�E######�E###�##�E###&##�%
##"##�K
#####�m
##�##��
#####�e#####�e##�##�e
##&##�)###�##�O######�#######�####�##�####&##��###"##�#######�7###�##�O######��#
#####��###R##��###&##�!###�##�G######�#######�####�##�####&##��###"##�
######�/######�/######�E###@##�]######��######��###2##��###&##��###@##��######�5
######�5###\##�5###&##��###"##��######��######��######��######��######��###&##��
###"##�
%######�G######�_######�_######�_######�_###&##�m###"##��######��######��######�
�######��######�# #####�% #####�? #####�Y #####�s #####�� #####�� ##H##�� ##�##�
!##R##��!##v##��!
##v##�a"##v##��"##v##�M###0##��######��###"##�#(##l##�'(##�##��+##�##��-
##########����####
#########@#p��# �##############�##�#?7##@#p��#�###############�##
#?7##AG#�0�0
##############�##�#?
7################r##�##J�M��#���,###��#####��#��d#########d#############Tablice8
#################,##########################��#��d#########d####################
###��######################@# #��p#��############�##\#?7##A# #
p#@#############�####?7##@#��
�@#############�##�#?7##@#�������############�##L#?
7I###`�p�#�############�####### A���p�0#� ############�##�#?
7####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############1�
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
####################### #############��##wa####yl wzo########<#?7########
#####�4######################����####
#########@#p��# �##############�##�#?7##@#p��#�###############�##�#?7##a#��@�
��############�##T#?7##a#��#�#�0#############�##t
?7##a#��
#p#�#############�##4
?7################3##�##��]�V ���####��#####�##��d#########d#########�###Tablica
jest to zbi�r element�w tego samego typu, kt�re zajmuj� ci�g�y obszar w�pami�ci.
Tablice s� typem pochodnym, tzn. buduje si� je z element�w jakiego� typu
nazywanego typem sk�adowym.
#�#####
###################^### ###############################
###########
###############:###
###############################
########### ###
###############
#############�#########Z#####q###d#########d#######d#####q###d#########d########
#3##�###�-���##��####��#####�##��d#########d############Przyk�ad:�
#
#############
##### #########
##### #######
#########
####��#��d#########d#2#######3##�##��=#6#�#��####��#####�##��d#########d########
#D###int A[50];float Tab[20];unsigned long int W[30];char Tekst[80];
#D#############
###############
###############
###########
###
###############
########### ###
###############
###########
###
#############D##############��#��d#########d############��#��d#########d########
####��#��d#########d############��#��d#########d###########
#########����######################@# #��p#��############�##,
?7##A# #
p#@#############�##�#?7##@#��
�@#############�##l
?7##@#�������############�##� ?
7I###`�p�#�############�####### A���p�0#� ############�##<
?7####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############2#
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#####################################��######################�#?7
#####################################����####
#########@#p��# �##############�##4
?7##@#p��#�###############�##D
?7##a##��
#�############�##�
?7##a#@���############�##�
?7##a##��#�#�#############�##�
?7##a##�##�#�#############�##�#?
7################################@###��#`#p#####################@###q�$#�#a#####
##########################N#####3##�##J��V
#���####��#####�##��d#########d#########�###Rozmiar tablicy musi by�
sta��, znan� ju� w trakcie kompilacji;Kompilator musi wiedzie� ile miejsca ma
zarezerwowa� na dan� tablic�. Rozmiar ten nie mo�e by� ustalany dopiero w
trakcie pracy programu. #
#�#############
###########################################u##############6###
###############
#############�#########@####�q###d#########d#######G####�q###d#########d#######D
####�q###d#########d#########3##�##z�����####��#####�##��d#########d#########
###Przyk�ad:#
#
#########
#########
#######
#########
####��#��d#########d#########3##�##:�
#�#�#��####��#####�##��d#########d#########I###cout << �Podaj rozmiar tablicy:
�;int n;cin >> n;int A[n];
// b��d!!!#
#I#############
###############
###############
###############
###############
###############
###############
###############
###############
###############
###############
###############
###############
###########
###
#############I##############��#��d#########d############��#��d#########d#######
####��#��d#########d############��#��d#########d#########3##�##:�##F#�#��####��#
####�##��d#########d############# #
###############
###############
###############
############################��#��d#########d############��#��d#########d########
####��#��d#########d############��#��d#########d###############
#####����######################@# #��p#��############�##�
?7##A# #
p#@#############�##T#?7##@#��
�@#############�##�
?7##@#�������############�##L ?7I###`�p�#�############�####### A���p�0#�
############�##�
?7####�###8#�#####�##�##Z#=
6###��####��#####�##��d#########d#############3#
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################!#############��################## ###,#?
7########"#############################����####
#########@#p��# �##############�##�
?7##@#p��#�###############�##�
?7
###��P�@#_##
##########�########a#��P�@#_#############�##�#?7##a#���`##�############�##<#?
7########8#�#####3##�##��m�##B#��####��#####�##��d#########d#########�###typ
fundamentalny (z wyj�tkiem void);typ wyliczeniowy (enum);inna tablica;wska�niki;
obiekty typu zdefiniowanego przez u�ytkownika (czyli klasy);wska�niki do
pokazywania na sk�adniki klasy.#
#�#############
##############
###############
###############
###############
###########
###
###############
###############
###############
###############
###############
########### ###
###########
###
###########%###
###############
###############
###############
########### ###
###############
#############�#########&####�q###d#########x############�q###d#########x########
####�q###d#########x#############q###d#########x#######=####�q###d#########x####
###,####�q###d#########x#########3##�##���&#���####��#####�##��d#########d######
#######Typ sk�adowy tablic:
#################$##########################��#��d#########d#2#####(###
%#########����##########�
&###'#####@# #��p#��############�##�#?7##A# #
p#@#############�###
?7##@#��
�@#############�##�
?7##@#�������############�##�#?
7I###`�p�#�############�####### A���p�0#� ############�##�#?
7####�###8#�#####�##�##Z#=
6###��####��#####�##��d#########d#############4#
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################-###*#########��##############+###,###�
?
7$###)###.#############################����####
#########@#p��# �##############�##�#?7##@#p��#�###############�##t#?7##AGp�P�
��############�##<
?7##a##�P��#��############�##\
?7##a#0���#�############�##t
?7##a#P�P
#############�##$?
7�#######8#�#####3##�##J�m�#z��####��#####�##��d#########d#########$###int A[5];
// 5 element�w typu int
#$#############
###########
###
###############
###############
###############
###############
###############
#############$#########$####��#��d#########d#########3##�##j��#����####��#####�#
#��d#########d######### ###A[0] A[1] A[2] A[3] A[4]
# ######### ###
############# ######### ####��#��d#########d#########3##�##��#
�#��####��#####�##��d#########d#########S###Numeracja element�w tablicy zaczyna
si� od zera.Element A[5] nie istnieje. Pr�ba wpisania jakiej� warto�ci do A[5]
nie b�dzie sygnalizowana jako b��d. W j�zyku C++ zakres tablic nie jest
sprawdzany.Wpisanie warto�ci do nieistniej�cego elementu A[5] spowoduje
zniszczenie w�obszarze pami�ci warto�ci, wpisanej bezpo�rednio za tablic�. #
#S#########+###
###########################
###
###############
###########3###
###############
###########/###
###############
###########R###
###############
###########W###
#############S#########1####�q###d#########d############�q###d#########d#######M
####�q###d#########d#######0####�q###d#########d#######�####�q###d#########d####
#####r##�##��m�V ���$###��#####��#��d#########d#############Elementy tablicy:#
###############
#$##########################��#��d#########d#######4###1###########��###########
#2###3#####@# #��p#��############�##$
?7##A# #
p#@#############�##
?7##@#��
�@#############�##�
?7##@#�������############�##4
?7I###`�p�#�############�####### A���p�0#�
############�##�
?7####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############5�
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################9###6#########��##wa####yl wzo7###8###�#?
70###5###:#############################����####
#########@#p��# �##############�##�
?7##@#p��#�###############�###?7##a#��P�#�p�############�##�
?7##a##�`�#��############�##,?7##a#p�����#############�####?
7##a#��#�#�#############�####?
7##########�#####3##�###�m���S��####��#####�##��d#########d#########
###Przyk�ad:�
#
#########
#########
#######
#########
####��#��d#########d#########3##�##:�}�V#���####��#####�##��d#########d#########
####int A[5];int x = 20;#
###############
###############
###############
###############
#######################
####��#��d#########d############��#��d#########d#########3##�##������#
############��#��d#########d#############Pr�ba zapisu:A[5] = 100;#
###############
###########
###
###############
############################��#��d#########d############��#��d#########d#######
####��#��d#########d#########3##�##��#f#�#
############��#��d#########d#########j###spowoduje zniszczenie warto�ci
zmiennej x, kt�ra zosta�a umieszczona w�pami�ci bezpo�rednio za tablic� A.
#j#########(###
###############
###########>###
###############
###############
#############j#########j####��#��d#########d#######@###=#########����gl####t�w
ty>###?#####@# #��p#��############�###?7##A# #
p#@#############�##<
?7##@#��
�@#############�##�
?7##@#�������############�##4?7I###`�p�#�############�####### A���p�0#�
############�##l ?7####�### #�#####�##�##Z#=
6###��####��#####�##��d#########d#############6�
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################E###B#########��##############C###D###d#?
7<###A###F#############################����####
#########@#p��# �##############�##T?7##@#p��#�###############�##|#?7##AGp��
@�############�##�
?7
###P�#�
#�#
##########�########a#P�#�
#�############�##
#?7##a#���0���############�##�
?7
###`�P��#��#
##########�########a#`�P��#��############�##�#?7##a#��`#�#�#############�##�#?7
###��@#@#�##
##########�########a#��@#@#�#############�##<#_2�####### #�#####3##�##��#��
���####��#####�##��d#########d#########=###Tablic� mo�na zainicjalizowa� w
�momencie definicji tablicy. �
#=#########=###
#############=#########=####��#��d#########d#########3##�##�������####��#####�##
��d#########d######### ###Przyk�ad:#
#
#############
##### #########
#############
#########
####��#��d#########d#2#######3##�##��m��#z���####��#####�##��d#########d########
#!###int A[5] = { 21, 4, 45, 38, 17 };�
#!#############
###############
#############!#########!
####��#��d#########d#########3##�##��}#V#�#��####��#####�##��d#########d########
#####Wynik zainicjalizowania tablicy A: {
########### ###
###############
###############
############################��#��d#########d#2#######3##�##��]###�#��####��#####
�##��d#########d#########0###A[0] = 21A[1] = 4A[2] = 45A[3] = 38A[4] = 17
#0#####
#######
###############
###############
###############
###############
###############
###############
###############
###############
###############
#############0#########
####��#��d#########d#######
####��#��d#########d#######
####��#��d#########d#######
####��#��d#########d#######
####��#��d#########d#########r##�##���V
#��$###��#####��#��d#########d#############Inicjalizacja tablic:#
###############
#$##########################��#��d#########d#######L###I###########��######
###�#J###K#####@# #��p#��############�##�?7##A# #
p#@#############�##|
?7##@#��
�@#############�##,#?7##@#�������############�##|#?
7I###`�p�#�############�####### A���p�0#� ############�##�
?7####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############7�
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################Q###N#########��##wa####yl wzoO###P###�
?7H###M###R#############################����####
#########@#p��# �##############�##�
?7##@#p��#�###############�##�
?7
###��`�
#�#
##########�########a#��`�
#�############�####?7##`#@���l##�############�##�#?7##a##� �
��############�##�#?7##a#��p�p#�#############�##�#?7 ###���###7##
##########�########a#���###7#############�##t#_2
###`��#�#�##
##########�########a#`��#�#�#############�##�?7##########`#####3##�##��}��
���####��#####�##��d#########d#########�###Je�eli w momencie inicjalizacji
na li�cie jest wi�cej element�w, ni� wynika z definicji to kompilator
zasygnalizuje b��d. Podczas inicjalizacji kompilator sprawdza, czy nie jest
przekroczony rozmiar tablicy.
#�#########/###
###############################
###########
###############5###
###############
###########X###
#############�#########{####�q###d#########d#######U####�q###d#########d########
#3##�##J�=�V
���####��#####�##��d#########d#############Inicjalizacja
tablic:#
###############
#$##########################��#��d#########d#2#######3##�###�6#s#��####��#####�#
#��d#########d#########(###Mo�liwa jest taka inicjalizacja tablicy:
#(#########(###
#############(#########(####��#��d#########d#########3##�##��
#�###��####��#####�##��d#########d#############int A[5] = {21, 4};r
###############
###############
############################��#��d#########d#########3##�##���#f#k#��####��#####
�##��d#########d#########-###A[0] = 21A[1] = 4A[2] = 0A[3] = 0A[4] = 0t
#-#####
#######
###############
###############
###############
###############
###############
###############
###############
###############
###############
#############-#########
####��#��d#########d#######
####��#��d#########d#######
####��#��d#########d#######
####��#��d#########d############��#��d#########d#######X###U#########����/
####38, 17V###W#####@# #��p#��############�##�
?7##A# #
p#@#############�##4#?7##@#��
�@#############�##<?7##@#�������############�##T#?
7I###`�p�#�############�####### A���p�0#� ############�##t#?
7####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############8#
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################]###Z#########��##wa####tablic[###\###�#?
7T###Y###^#############################����####
#########@#p��# �##############�##�#?7##@#p��#�###############�##�#?7##!
#����#$�############�##�#?7##!#��ࡱ�]#��############�##l#_2 ###��� #�#
##########�########a#��� #�############�##l
?7
###���#�
^##
##########�########a#���#�
^#############�##<#_2##########&#####1##�##���##��####��#####�##��d#########d###
##########Inicjalizacja tablic:#
###############
#$##########################��#��d#########d#2#######1##�###��##���####��#####�#
#��d#########d#########'###Kolejny spos�b inicjalizowania tablicy:#
#'#########'###
#############'#########'####��#��d#########d#########3##�##����#����####��#####�
##��d#########d#########!###int A[ ] = { 21, 4, 45, 38, 17 };#
#!#############
########### ###
###############
###############
#############!#########!####��#��d#########d#########3##�##��#�
A#��####��#####�##��d#########d#########t###Kompilator w tym przypadku
przelicza, ile liczb podano w klamrach.W�efekcie rezerwowana jest pami�� na te
elementy.
#t#########t###
#############t#########C####�q###d#########d#######1####�q###d#########d#######d
###a#########�����#####}#|#?#b###c#####@# #��p#��############�##�#_2##A# #
p#@#############�##L#?7##@#��
�@#############�####_2##@#�������############�##�#_2I###`�p�#�############�#####
## A���p�0#�
############�##l ?7####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############9#
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################i###f#########��##############g###h###�#?
7`###e###j#############################����####
#########@#p��# �##############�##$#?7##@#p��#�###############�##�?7##!
#p��#$�############�##L#_2
###��0�#
�#
##########�########a#��0�#
�############�##�#_2##a#��0#`�P#############�##\#?
7
###���#p#4##
##########�########a#���#p#4#############�##�
?7##a#��#
�#############�##�#_2
###��`#�#�##
##########�########a#��`#�#�#############�##|
#_2##########�#####1##�##���{##��####��#####�##��d#########d#########!
###Przekazywanie tablicy do funkcji:#
#!#########!###
#$###########!#########!
####��#��d#########d#2#######3##�###�M��#����####��#####�##��d#########d########
#�###Tablice w C++ nie s� przesy�ane do funkcji przez warto��. Przez warto��
mo�na przesy�a� tylko pojedyncze elementy tablicy, ale nie ca�o��. Tablice
przesy�a si� podaj�c do funkcji tylko adres pocz�tku tablicy.
#�#########
###
###############
###############
###############################
##########################!###
###########!###############;###
###############################
#############�#########;####�q###d#########d#######R####�q###d#########d#######E
####�q###d#########d#########3##�##��M#&�3#��####��#####�##��d#########d########
#
###Przyk�ad:�
#
#########
#########
#######
#########
####��#��d#########d#########3##�##���#6###��####��#####�##��d#########d########
#=###float X[ ] = { 21, 4, 45, 38, 17 };void Sort ( float X[ ] );#
#=#############
###############
###############
###############
###############
###############
#############=#########$####��#��d#########d############��#��d#########d########
#3##�##���#�
�#��####��#####�##��d#########d#########-###Funkcj� Sort
wywo�ujemy w spos�b nast�puj�cy:#
#-#############
###############
###########!###
#############-#########-
####��#��d#########d#########3##�##
�}#f#�#��####��#####�##��d#########d#############Sort ( X );�
###############
############################��#��d#########d#######p###m#########����/
####38, 17n###o#####@# #��p#��############�##�?7##A# #
p#@#############�##�#?7##@#��
�@#############�##
#?7##@#�������############�##�#_2I###`�p�#�############�####### A���p�0#�
############�##\#?7####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############10
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################u###r#########��##############s###t###d#?
7l###q###v###########
#################����####
#########@#p��# �##############�##�#?7##@#p��#�###############�##,#_2 ###P�P��
�#
##########�########a#P�P��
�############�##4#_2##a#��p��#�#############�##�#?
7##a#���#�#7#############�##�#_2
###P�#
�##
##########�########a#P�#
�#############�##<#_2##a#P�#�#�#############�####_2##########4#####3##�##��m�
���####��#####�##��d#########d#########�###W j�zyku C++ nazwa tablicy jest
jednocze�nie adresem elementu zerowego. Ponadto wyra�enie:
X + 3
jest adresem tego miejsca w pami�ci, gdzie znajduje si�
element o indeksie 3, czyli X[3]. W naszym przyk�adzie jest to element o
warto�ci 38.#
#�######### ###
###############
###############
###############################
###############################
###############
###############
###############################
###############
###############
###########L###
###############
###############
###############
###########3###
###############
###############
#############�#########I####�q###d#########d############�q###d#########d#######
####��#��d#########d#######\####��#��d#########d#######3####�q###d#########d####
#####3##�##��f#s#��####��#####�##��d#########d#########"###Adres takiego
elementu to r�wnie�:
#"#########"###
#############"#########"####��#��d#########d#########3##�##��
#V###��####��#####�##��d#########d#############&X [3]
###############
############################��#��d#########d#########3##�##��#�
�#��####��#####�##��d#########d#########�###Znak & jest jednoargumentowym
operatorem oznaczaj�cym uzyskiwanie adresu danego obiektu. Zatem poni�sze dwa
wyra�enia s� r�wnowa�ne:�
#�#############
###############
###########ࡱ###
#############�#########Y####�q###d#########d#######,####�q###d#########d########
#3##�##��#�#�#��####��#####�##��d#########d############X + 3
&X [3]P
##############
###############
###############
######################
####��#��d#########d#######|###y### #
###����############z###{#####@#
#��p#��############�##�#?7##A# #
p#@#############�##\#_2##@#��
�@#############�####_2##@#�������############�##<#_2I###`�p�#�############�#####
## A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############11
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###~#########��############�#ࡱ###�###D#_2x###}###�######
#####
#################����####
#########@#p��# �##############�####_2##@#p��#�###############�##�#_2##AG@� �`
��############�##$#_2##a#���#
��############�##�#_2##a#����@���############�####_2##a#���#�############�##D
?7
###���#�
�##
##########�########a#���#�
D#############�##�#_2H#########H#####3##�##����#y��####��#####�##��d#########d##
#######@###Specjalnym rodzajem tablic s� tablice do przechowywania znak�w.
#@#############
########### ###################
#############@#########@####��#��d#########d#2#######3##�###���#����####��#####�
##��d#########d#########
###Przyk�ad:#
#
###################
#########
#############
#########
####��#��d#########d#########3##�##��V#����####��#####�##��d#########d##########
###char tekst [80];
###############
###########
###
############################��#��d#########d#########3##�##���#V '#
############�q###d#########d#########�###W tablicach znakowych po ci�gu
znak�w nast�puje znak o kodzie 0 ( znak NULL). Znak ten stosuje si� do
oznaczenia ko�ca ci�gu znak�w innych ni� NULL. Ci�g znak�w zako�czony znakiem
NULL nazywamy �a�cuchem.#
#�#########>###
###############
###############
###############
###########E###
###############
###########"###
###############
###########
###
########### ###################
#############�#########O####�q###d#########d#######H####�q###d#########d#######8
####�q###d#########d#########r##�##z�=�&
���$###��#####��#��d#########d#############Tablice znakowe#
###############
#$##########################��#��d#########d#######�###�###########��##########�
#�###�#####@# #��p#��############�##�#_2##A# #
p#@#############�##�#?7##@#��
�@#############�##�#_2##@#�������############�##�#_2I###`�p�#�############�#####
## A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############12
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��##wa####yl wzo�###�#####?
7�###�###�#############################����####
#########@#p��# �##############�####_2##@#p��#�###############�##�?7##!#P�
��#��############�##�#_2##a#��`�
��############�##,#_2
###��p��#��#
##########�########a#��p��#��############�##,#_2########################
###
###
###P��#
�##
##########�########a#P��#
�#############�##�#_2################################@###�����##################
#####a#���
Z#############�##�#_2@###����
�####################@###��#�
�#####################@###@��@�#####################@###P��P�###################
##@###`��`�#####################@###0��0�#####################@####��#��########
#############@###�
��
�#####################@###�#��#�#####################@###`#�`#�#################
####@###P#�P#�###############################j#####1##�##��=�#���####��#####�##�
�d#########d#############Inicjalizacja tablic znakowych:�
###############
#$##########################��#��d#########d#2#######3##�##��}��
c��####��#####�##��d#########d#########9###Tablic� tekst mo�na
zainicjalizowa� w trakcie definicji :y
#9#############
###########################,###
#############9#########9####��#��d#########d#########3##�##���#���####��#####�##
��d#########d#############char tekst [80] = { �C++� };i
###############
##############
###############
###############
###############
###############
###############
###############
############################��#��d#########d#########3##�##���#�
k#��####��#####�##��d#########d#########�###nie wymienione elementy
inicjalizuje si� do ko�ca tablicy zerami;znak NULL zosta� automatycznie dopisany
po ostatnim znaku + dzi�ki temu, �e inicjowali�my tablic� ci�giem znak�w
ograniczonym cudzys�owem.
#�#####
###:################### ###############
###############
###########1###
###############
###########C###
###############################
#############�#########B#####q###d#########d#2#####�#####q###d#########d########
#3##�##��F
=#��####��#####�##��d#########d#########)###0
1
2
3
4
�
�
77
78
79
C
+
+ NULL
�
#)###################
########################
###############
#############)##############��#��d#########d############��#��d#########d#######�
###�#####
###����###### ###�#�###�#####@# #��p#��############�##D#_2##A# #
p#@#############�##$#_2##@#��
�@#############�##�#_2##@#�������############�####_2I###`�p�#�############�#####
## A���p�0#�
############�##,#_2####�###8#�#####�##�##Z#=
6###��####��#####�##��d#########d#############13
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��########
###�#�###�###d#_2�###�###�###########
#################����####
#########@#p��# �##############�##�#_2##@#p��#�###############�##\#_2##!
#P���#$�############�##�#?7##a#��� ��############�####_2
### �P� #��#
##########�########a# �P� #��############�##�#_2##a#��0�P
P�############�##�#_2##a# ��###############�##D
?7
###���#@#p##
##########�########a#���#@#p#############�##l#_2########8#######1##�##���##��###
#��#####�##��d#########d#############Inicjalizacja tablic znakowych:4
###############
#$##########################��#��d#########d#2#######3##�##���V
���####��#####�##��d#########d#########2###Jest te� inny spos�b
inicjalizacji tablicy znak�w:
#2#########2###
#############2#########2####��#��d#########d#########3##�##Z�m��#z��####��#####�
##��d#########d#########%###char tekst [80] = { �C�, �+�, �+� };i
#%#############
###############
###############
###############
#############%#########%####��#��d#########d#########3##�##��M�#
3���####��#####�##��d#########d#########7###Zapis taki jest r�wnowa�ny wykonaniu
trzech instrukcji:3
#7#########7###
#############7#########7####��#��d#########d#########3##�##Z��f#�#��####��#####�
##��d#########d#########2###tekst [0] = �C�;tekst [1] = �+�;tekst [2] = �+�;
#2#####
#######
###############
###############
###############
###############
###############
###############
###############
###############
###############
###############
###############
#############2##############��#��d#########d############��#��d#########d########
####��#��d#########d#########3##�##���###S#��####��#####�##��d#########d########
#%###Ponadto, poniewa� nie by�o tu cudzys�owu, kompilator nie doko�czy�
inicjalizacji znakiem NULL. Wszystkie elementy tablicy poczynaj�c od tekst [3]
do tekst [79] w��cznie zostan� zainicjalizowane zerami.Poniewa� znak NULL ma
kod�0 - zatem �a�cuch w tablicy tekst zostanie poprawnie zako�czony.�
#%########Y###
###############
###########,###
########### ###
###############
###########
###
###########9###
###############
###############
###############
###############
###############
###############
#############
%#########`####�q###d#########d#######k####�q###d#########d#######Z####�q###d###
######d#######�###�###
#
###����############�###�#####@# #��p#��############�##�#_2##A# #
p#@#############�##�#_2##@#��
�@#############�##|#_2##@#�������############�##4#?
7I###`�p�#�############�####### A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############14
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��############�#�###�###
#_2�###�###�############################����####
#########@#p��#
�##############�##�#_2##@#p��#�###############�##$#_2##a#P���#��############�##�
#_2
### �p�#��#
##########�########a# �p�#��############�##d#_2###��P�p#�##
##########�########a#��P�p#�#############�##�#_2##a#���##�##############�##\#_2
###���#�
'##
##########�########a#���#�
'#############�####_2
###���#`
�##
##########�########a#���#`
�#############�##$#_2##########N#####3##�##���#���####��#####�##��d#########d###
##########Pu�apka ! ! !:
#####################
######################��#��d#########d#########3##�##Z��v#���####��#####�##��d##
#######d#############char tekst [ ] = { �C�, �+�, �+� };�
###############
##############
###############
###############
############################��#��d#########d#########3##�###�m�6#�#��####��#####
�##��d#########d#########�###Jest to definicja tablicy znakowej o 3 elementach,
w kt�rej znajd� si� znaki �C�, �+� i �+�.Znaku NULL tam nie b�dzie. Wniosek -
tablica tekst nie przechowuje �a�cucha znak�w, lecz pojedyncze znaki. I
#�#########%###
###############
###########'###
###############
###############
###############
###############
###############
###############
###############
###########$###
###############
###########'###
###############################
#############�#########]####�q###d#########d############�q###d#########d#######P
####�q###d#########d#########3##�##���#���#��####��#####�##��d#########d########
#
###W definicji:
#
#########
###
#############
#########
####��#��d#########d#########3##�##*��#V
#��####��#####�##��d#########d#############char tekst [ ] = { �C++� };�
###############
###########
###
###############
###############
###############
###############
###############
###############
############################��#��d#########d#########3##�##��#&
�#��####��#####�##��d#########d#########�###zostanie zarezerwowana pami��
dla 4 element�w tablicy znakowej tekst. kolejne elementy tablicy przechowuj�
nast�puj�ce znaki: �C�, �+�, �+� i�NULL.
#�########"###
###############
###############
###############
###########;###
###############
###############
###############
###############
###############
###############
###############
###############
#############�#########G####�q###d#########d#######M####�q###d#########d#######�
###�###
#
###����############�###�#####@# #��p#��############�##<#_2##A# #
p#@#############�##�#?7##@#��
�@#############�##D#_2##@#�������############�##4#_2I###`�p�#�############�#####
## A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############15
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��##############�###�###�#?
7�###�###�#############################����####
#########@#p��#
�##############�####_2##@#p��#�###############�####_2##a#P��`#��############�##�
#_2
###��`��#H##
##########�########a#��`��#H#############�##T#_2I###��}�
��#
##########��########a###��
��############�##
#_2##a#0#P�P
p�############�##d#_2##########�#####3##�##���&#���####��#####�##��d#########d##
#######
###Przyk�ad:a
#
#########
################# #########
####��#��d#########d#########3##�##��}�#+#��####��#####�##��d#########d#########
:####include <iostream.h>#include <conio.h>void main (){ char napis1[ ] =
{ "Nocny lot" }; char napis2[ ] = { 'N', 'o', 'c', 'n', 'y',
' ',
'l', 'o', 't' }; clrscr (); cout << "rozmiar tablicy pierwszej: " <<
sizeof(napis1) << endl; cout << "rozmiar tablicy drugiej: "
<<
sizeof(napis2) << endl;}
#:#########)###
########### ###
###############
###############
###############
###############
###########Y###
###############
###############
###############
###############
###############
###############
###############
###############
###########
###
###############
###############
###############
###############
###############
###############
###############
###############
###############
###############
#############################:#####
########��#��d#########d############��#��d#########d#######
####��#��d#########d############��#��d#########d############��#��d#########d####
###-
####��#��d#########d############��#��d#########d############��#��d#########d####
###)####��#��d#########d############��#��d#########d#######'####��#��d#########d
############��#��d#########d############��#��d#########d#########3##�##:#���
���####��#####�##��d#########d#############rozmiar tablicy pierwszej: 10�
############################################################################��#�
�d#########d#2#######3##�##j#m�#
S��####��#####�##��d#########d#############rozmiar tablicy drugiej: 9
############################################################################��#�
�d#########d#2#####�###�#########����############�###�#####@#
#��p#��############�##4#_2##A# #
p#@#############�##�#_2##@#��
�@#############�##$#_2##@#�������############�##�#_2I###`�p�#�############�#####
## A���p�0#�
############�##�#_2####�###
#�#####�##�##Z#=
6###��####��#####�##��d#########d#############16
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��############�#�###�###�#_2�###�###�######
#######################����####
#########@#p��# �##############�##t#_2##@#p��#�###############�##\#_2##!#0��
$�############�##�#_2
###P�`��
f�#
##########�########a#P�`��
f�############�##T#_2##a#��0��#P�############�##�#_2 ###���
##
##########�########a#���
#############�##D#_2########
#�#####1##�##j��K #��####��#####�##��d#########d#############Wpisywanie
�a�cuch�w do tablic:i
###############
#$##########################��#��d#########d#2#######3##�##��}�
I��####��#####�##��d#########d#########E###tekst [80] = �Nocny lot�;
// b��dtekst = �Nocny lot�;
// b��di
#E############
###############
########### ###
###############
###############
###############
###############
###############
###############
########### ###
###############
###############
###############
###############
#############E#########
%####��#��d#########d#######
####��#��d#########d#########3##�##��M�#3���####��#####�##��d#########d#########
)###Oto przyk�ad funkcji kopiuj�cej �a�cuchy:�
#)#########)###
#############)#########)####��#��d#########d#########3##�##��V
�#��####��#####�##��d#########d#########�###void strcopy ( char cel [ ],
char zrodlo [ ] ){
for (int i = 0; ; i++ ) {
cel [i] = zrodlo [i];
if (cel [i] == NULL ) break; }}
#�#############
###############
###############
###########
###
###############
###############
###############
###############
###############
###############
###############
###############
###############
##############
###############
###############
###############
###############
###############
#############�#########/####��#��d#########d############��#��d#########d########
####��#��d#########d############��#��d#########d############��#��d#########d####
########��#��d#########d############��#��d#########d############��#��d#########d
#######�###�#########����############�###�#####@# #��p#��############�##4#_2##A#
#
p#@#############�##�#_2##@#��
�@#############�##�#_2##@#�������############�##,#_2I###`�p�#�############�#####
## A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############17
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��##############�###�###�#_2�###�###�######
#######################����####
#########@#p��# �##############�##$#_2##@#p��#�###############�##L#_2##!#0��
$�############�##�#_2##a#P� �
@�############�##�#?7
###����@#t##
##########�########a#����@#t#############�##t#_2##########�#####1##�##j��K
#��####��#####�##��d#########d#############Wpisywanie �a�cuch�w do
tablic:i
###############
#$##########################��#��d#########d#2#######3##�##��=��
#��####��#####�##��d#########d#########/###Oto inny spos�b wykonania
kopiowania �a�cuch�w:�
#/#########/###
#############/#########/####��#��d#########d#########3##�##��
�##W#��####��#####�##��d#########d#########�###void strcopy ( char cel [ ],
char zrodlo [ ] ){ int i = 0;
do cel [i] = zrodlo [i];
//
kopiowanie while ( cel [i++] != NULL ); // sprawdzenie i
// przesuni�cie}
#�#############
###############
###############
###############
###############
###############
###############
########### ###
###############
###############
###############
###############
###############
###############
###############
########### ###
###########f###
###############
###############
#############�#########0####��#��d#########d############��#��d#########d#######
####��#��d#########d#######0####��#��d#########d#######4####��#��d#########d####
###V####��#��d#########d############��#��d#########d#######�###�#########����###
#########�###�#####@# #��p#��############�##D#_2##A# #
p#@#############�##�#_2##@#��
�@#############�####_2##@#�������############�##L#_2I###`�p�#�############�#####
## A���p�0#�
############�##t#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############18
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��##############�###�###�#_2�###�###�######
#######################����####
#########@#p��#
�##############�####_2##@#p��#�###############�##�#_2##a#�����############�##D#_
2
###��p�0
v�#
##########�########a#��p�0
v�############�##
#_2##a##�@� #`�############�##�#_2##a#0� ��#g�############�##T#_2##a##�0#`
6#############�####_2##a##��#
#�#############�##�#_2##a#��#�#�#############�##d
_2##a#��#0
�#############�###
_2##########�#####3##�##���f����####��#####�##��d#########d#############Przypomn
ienie ! ! !:
##############################
############################��#��d#########d#2#######3##�###���#Y��####��#####�#
#��d#########d#########M###Warto�ci� wyra�enia przypisania jest warto�� b�d�ca
przedmiotem przypisania. I
#M#############################
###########&###################
#############M#########M####��#��d#########d#2#######3##�##J�]��#C��####��#####�
##��d#########d#############Inaczej m�wi�c, wyra�enie:
###############
############################��#��d#########d#########3##�##j�=�f#J���####��#####
�##��d#########d#############(x = 27)
###############
############################��#��d#########d#########3##�##J�M#&
##��####��#####�##��d#########d#########D###nie tylko wykonuje
przypisanie, ale samo jako ca�o�� ma warto�� 27.
#D#########@###
###############
###############
#############D#########D####��#��d#########d#########3##�##J��#�#�#��####��#####
�##��d#########d#############Podobnie wyra�enie:�
###############
############################��#��d#########d#########3##�##
��#v#�#��####��#####�##��d#########d#############(cel [i] = zrodlo [i] )d
###############
############################��#��d#########d#########3##�###�#�#�#��####��#####�
##��d#########d#########*###ma warto�� r�wn� kodowi kopiowanego znaku.
#*#############
###############################
###############################
#############*#########*####��#��d#########d#2#####�###�#########����###########
#�###�#####@# #��p#��############�##L#_2##A# #
p#@#############�##�#_2##@#��
�@#############�##�#_2##@#�������############�##L#_2I###`�p�#�############�#####
## A���p�0#�
############�##�#_2####�###,#�#####�##�##Z#=
6###��####��#####�##��d#########d#############19
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��##############�###�###<#_2�###�###�######
#######################����####
#########@#p��# �##############�##D
?7##@#p��#�###############�##�#_2##!#0�� $�############�##�#_2
###��#�0
j##
##########�########a#��#�0
j#############�####_2##a#��`�#��############�##�#_2########,#�#####1##�##j��K
#��####��#####�##��d#########d#############Wpisywanie �a�cuch�w do
tablic:@
###############
#$##########################��#��d#########d#2#######3##�###�#��#M#��####��#####
�##��d#########d#########n###void strcopy (char cel [ ], char zrodlo [ ] ){
int i = 0; while ( cel [i] = zrodlo [i] )
{
i++; }}
#n############
###########
###
###############
###############
###############
###############
###############
########### ###
###############
###############
###############
###############
###############
#############n#########/####��#��d#########d############��#��d#########d########
####��#��d#########d#######!
####��#��d#########d############��#��d#########d############��#��d#########d####
########��#��d#########d############��#��d#########d#########3##�##��}�v#c��####
��#####�##��d#########d#########!###Kolejny spos�b kopiowania znak�w:#
#!#########!###
#############!#########!
####��#��d#########d#2#####�###�#########����##########�#�###�#####@#
#��p#��############�##�#_2##A# #
p#@#############�##D#_2##@#��
�@#############�####_2##@#�������############�##�#_2I###`�p�#�############�#####
## A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############20
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��##############�###�###�?
7�###�###�#############################����####
#########@#p��#
�##############�##�#_2##@#p��#�###############�####_2##a#��P�@#p�############�##
L#_2 ###@���
H�#
##########�########a#@���
H�############�##�#_2##a#p�#� �#############�##D#_2
####��#�#7##
##########�########a##��#�#7#############�##,
_2##########�#####3##�##��m�##S��####��#####�##��d#########d#########
###Przyk�ad:#
#
#########
#########
#######
#########
####��#��d#########d#2#######3##�##z��
+���####��#####�##��d#########d#########�###//������������������������char
zrodlo [ ] = { �Programowanie komputer�w� };char cel [80];strcopy ( cel,
zrodlo);cout << cel;
#�#############
###############
###############
###############
###############
###############
###############
###############
###########(###
###############
###############
#############�##############��#��d#########d#######2####��#��d#########d########
####��#��d#########d############��#��d#########d#######
####��#��d#########d#########3##�##��#�
�#��####��#####�##��d#########d#########1###Co by�oby, gdyby zosta�a
zdefiniowana tablica ? :�
#1#########1###
#############1#########1####��#��d#########d#########3##�##:�
#f###��####��#####�##��d#########d############char cel [5];#
##############
########### ###
######################
####��#��d#########d#######�###�#########����ko####a znak�###�#####@#
#��p#��############�####_2##A# #
p#@#############�##�#_2##@#��
�@#############�##<#_2##@#�������############�##�#_2I###`�p�#�############�#####
## A���p�0#�
############�##D#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############21
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################�###�#########��##############�###�###�#_2�###�###�######
#######################����####
#########@#p��# �##############�##$#_2##@#p��#�###############�##�#_2 ###��P�P
��#
##########�########a#��P�P
��############�##
#_2
###��#��
`##
##########�########a#��#��
`#############�##<
_2##########�#####3##�##��m�#
���####��#####�##��d#########d#############Je�li tablica cel jest za kr�tka, to
mimo wszystko dalej b�dzie odbywa�o si� kopiowanie do nieistniej�cych element�w:
cel [5], cel [6], � i tak dalej dop�ki �a�cuch z tablicy zrodlo nie sko�czy si�.
Mimowolnie b�d� niszczone kom�rki pami�ci znajduj�ce si� zaraz za nasz� tablic�
cel.�
###############
###########################e###
###############################
###############
###############
###############################
###############
###########)###
###########################b###
###############################
#######################�####�q###d#########d#######T####�q###d#########d########
#3##�###�-�F
C#��####��#####�##��d#########d#########j###Aby unikn�� b��d�w, nale�y w funkcji
umie�ci� argument okre�laj�cy, ile maksymalnie znak�w chcemy przekopiowa� (np. 5
znak�w). Je�li �a�cuch przeznaczony do kopiowania b�dzie kr�tki (np. 3 znaki),
to przekopiuje si� ca�y. Je�li b�dzie d�ugi (np. �D�ugi �a�cuch�, to przekopiuje
si� tylko pocz�tek �D�ug�. Na ko�cu musi si� oczywi�cie znale�� bajt zerowy
NULL.
#j#########t###
###############
###########G###
###############
###########;###
###############
###############
###############
###########"###
###############
###############
###########3###
###############
###############
#############j#########�####�q###d#########d#######`####�q###d#########d#######T
####�q###d#########d#######6####�q###d#########d###########�#########����#######
#####�###�#####@# #��p#��############�##�#_2##A# #
p#@#############�##d#_2##@#��
�@#############�####_2##@#�������############�##d
_2I###`�p�#�############�####### A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############22
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#####################################��######################l#_2�##############
#######################����####
#########@#p��# �##############�###
_2##@#p��#�###############�##\#_2##!#�� �v
��############�##<
_2
###��#�
�##
##########�########a#��#�
�#############�##D#_2##########z#####1##�###�=�<
���####��#####�##��d#########d#########"###Przekazywanie �a�cucha do
funkcji:
#"#########"###
#$###########"#########"####��#��d#########d#2#######3##�##��-
��
w#��####��#####�##��d#########d#########�###Do funkcji wysy�amy adres jego
pocz�tku �a�cucha, czyli sam� jego nazw� bez nawias�w kwadratowych.Dzi�ki temu
funkcja dowiaduje si�, gdzie w pami�ci zaczyna si� ten �a�cuch. Gdzie on si�
ko�czy - funkcja mo�e sprawdzi� sama szukaj�c znak NULL.0
#�#########�###
###############
###############
#############�#########c####�q###d#########d#######M####�q###d#########d#######E
####�q###d#########d#######
###
#########����############
#########@# #��p#��############�##�#_2##A# #
p#@#############�##�#_2##@#��
�@#############�##$#_2##@#�������############�##�
_2I###`�p�#�############�####### A���p�0#�
############�##�#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############23
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#####################################��######################<#_2####
#################################����####
#########@#p��# �##############�##\#_2##@#p��#�###############�##�#_2##!
#P�P�5#��############�##|
_2##a##���� ��############�##�#_2
###p���###�#
##########�########a#p���###�############�##�
_2##a#p�`#�#�#############�##�#_2
###0�p#@#B##
##########�########a#0�p#@#B#############�##\#_2##########�#####1##�##��m��#���#
###��#####�##��d#########d#############Tablice wielowymiarowe:i
###############
#$##########################��#��d#########d#2#######3##�##J��
���####��#####�##��d#########d#########T###Tablice mo�na tworzy� z r�nych
typ�w obiekt�w, w tym r�wnie� z innych tablic np. :
#T#########@###
##############################
#############T#########T####��#��d#########d#########3##�##�����#���####��#####�
##��d#########d#############int X [4] [3];
###############
###############
############################��#��d#########d#########3##�##��}#�#c#��####��#####
�##��d#########d#########,###Tablica X sk�ada si� z 4 wierszy i 3 kolumn:
#,#############
###############
###############
###############
###############
###############
###############
#############,#########,####��#��d#########d#########3##�##j�###
%#��####��#####�##��d#########d#########w###X [0] [0]X [0] [1]
X [0] [2]X [1]
[0]
X [1] [1]
X [1] [2]X [2] [0]
X [2] [1]
X [2] [2]X [3] [0]
X
[3] [1]
X [3] [2]Y
#w#############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
########### ###
###############
###############
#############w##############��#��d#########d############��#��d#########d########
####��#��d#########d############��#��d#########d############### #
###����######################@# #��p#��############�###
_2##A# #
p#@#############�##<
_2##@#��
�@#############�##$
_2##@#�������############�###
_2I###`�p�#�############�####### A���p�0#�
############�##�
_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############24
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#####################################��######################\
_2######################################����####
#########@#p��# �##############�##�
_2##@#p��#�###############�####_2##!#P��5#$�############�##
_2##a#���� b�############�##�#_2
####�#�
D##
##########�########a##�#�
D#############�####_2##a#��P#`
V#############�##�#_2
####�#�#�##
##########�########a##�#�#�#############�##�#_2##########�#####1##�##����##��###
#��#####�##��d#########d#############Tablice wielowymiarowe:�
###############
#$##########################��#��d#########d#2#######3##�##���
E���####��#####�##��d#########d#########�###Elementy tablicy umieszcza si�
pami�ci komputera tak, �e najszybciej zmienia si� najbardziej skrajny prawy
indeks tablicy.Zatem poni�sza inicjalizacja zbiorcza:�
#�#########9###
###############
###############
###############
###############
###########!###
###########/###
#############�#########{####�q###d#########d#######&####�q###d#########d########
#3##�##J�-��
'#��####��#####�##��d#########d#########:###int X [4] [3] =
{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
#:#############
###########
###
###########*###
###############
#############:#########:####��#��d#########d#########3##�##��m#&
9#��####��#####�##��d#########d#########M###
spowoduje, �e elementom tej
tablicy zostan� przypisane warto�ci pocz�tkowe:i
#M#########M###
#############M#########M####��#��d#########d#2#######3##�##:�#f#�#��####��#####�
##��d#########d############# 1
2
3
4
5
6
7
8
9
10
11
12
###############
###############
############################��#��d#########d############��#��d#########d########
####��#��d#########d#######
####��#��d#########d#######$###!### #
###����############"#########@# #��p#��############�##l
?7##A# #
p#@#############�##|
_2##@#��
�@#############�##|#_2##@#�������############�##�
_2I###`�p�#�############�####### A���p�0#�
############�####_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############25
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################)###&#########��##############'###(###\#_2 ###
%###*#############################����####
#########@#p��# �##############�##D#_2##@#p��#�###############�##�#_2##!#
�P�##��############�##\#_2##a#����
��############�##�#_2##a#0���###�############�##�#_2##a#���#0
�#############�##�
_2##a#P�#�#�#############�##�
_2##a##�#�#�#############�##L
_2##########\#####1##�##Z�m��#���####��#####�##��d#########d#############Tablice
wielowymiarowe:i
###############
#$##########################��#��d#########d#2#######3##�##��
�F
���####��#####�##��d#########d#########c###W tablicy int X[4] [3] element X[1]
[2] le�y w stosunku do pocz�tku tablicy o�tyle element�w dalej:�
#c#########
###
###############
########### ###
########### ###
###############
###########<###
#############c#########c####��#��d#########d#########3##�##j����#���####��#####�
##��d#########d#########
###(1 * 3 ) + 2
#
##### #######
###############
###############
###############
###############
###############
###############
###############
###############
#############
#########
####��#��d#########d#########3##�##���#�#�#��####��#####�##��d#########d########
#4###Element X[i] [j] z tablicy o liczbie kolumn 3 le�y o
#4#############
###############
###############
###############
###############
#############4#########4####��#��d#########d#########3##�##��#�#�#��####��#####�
##��d#########d############( i * 3 ) + j�
##############
###############
###############
###############
###############
###############
###############
#############
#########
####��#��d#########d#########3##�##J�#v#�#��####��#####�##��d#########d#########
###element�w dalej ni� pocz�tkowy.
# ######### ###
############# ######### ####��#��d#########d#2#####0###-
#########����############.###/#####@# #��p#��############�##�#_2##A# #
p#@#############�##
_2##@#��
�@#############�##l#_2##@#�������############�##D
_2I###`�p�#�############�####### A���p�0#�
############�##�
_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############26
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################5###2#########��########
###�#3###4#####_2,###1###6#############################����####
#########@#p��# �##############�##�#_2##@#p��#�###############�##�#_2##!#
�P�##��############�##�#_2##a#P��` ��############�##d
_2
###��@��
,##
##########�########a#��@��
,
#############�##\#_2##########v#####1##�##Z�m��#���####��#####�##��d#########d##
###########Tablice wielowymiarowe:i
###############
#$##########################��#��d#########d#2#######3##�##���&
���####��#####�##��d#########d#########
###Wniosek: i
#
#########
###
#############
#########
####��#��d#########d#########3##�##��]�F
##��####��#####�##��d#########d#########p###do orientacji w�tablicy kompilator
musi zna� liczb� jej kolumn; natomiast wcale nie musi u�ywa� liczby wierszy.
#p#############
###############################
###############################
#############p#########A####�q###d#########d#######/####�q###d#########d#######<
###9#########����############:###;#####@# #��p#��############�##�
_2##A# #
p#@#############�##\#_2##@#��
�@#############�###
_2##@#�������############�##T#_2I###`�p�#�############�####### A���p�0#�
############�##\#_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############27
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################A###>#########��##############?
###@###�#_28###=###B#############################����####
#########@#p��# �##############�##�
_2##@#p��#�###############�##�
_2##!# �P�##��############�##�#_2
###@���
��#
##########�########a#@���
��############�##�
_2
###���
�#
##########�########a#���
�############�##D_2##a##���
�#############�##�_2
###��`#�#�##
##########�########a#��`#�#�#############�####_2################1##�##Z�m��#���#
###��#####�##��d#########d#############Tablice wielowymiarowe:�
###############
#$##########################��#��d#########d#2#######3##�##z���F
���####��#####�##��d#########d#########:###W jaki spos�b przes�a� tablic�
wielowymiarow� do funkcji?
#:#########:###
#############:#########:####��#��d#########d#2#######3##�##���F
����####��#####�##��d#########d#########4###Przesy�amy do funkcji tylko adres
pocz�tku tablicy.
#4#############
###############################
###############
#############4#########4####��#��d#########d#2#######3##�##J���
�#��####��#####�##��d#########d#########T###Do hipotetycznej funkcji fun
przesy�amy tablic� int X[3] [4] w�spos�b nast�puj�cy:
#T#############
###############
###############
###############
###############
###############
###############
#############T#########1####��#��d#########d############��#��d#########d########
#3##�##��}#v#�#��####��#####�##��d#########d#############fun (X);
###############
############################��#��d#########d#######H###E###
#
###����############F###G#####@# #��p#��############�##�
_2##A# #
p#@#############�##�#_2##@#��
�@#############�##�
_2##@#�������############�##�#_2I###`�p�#�############�####### A���p�0#�
############�##T
_2####�### #�#####�##�##Z#=
6###��####��#####�##��d#########d#############28
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################M###J#########��##############K###L###�#_2D###I###N######
#######################����####
#########@#p��# �##############�##�
_2##@#p��#�###############�##t_2##!#���#$�############�###_2
###��0�0
��#
##########�########a#��0�0
��############�##�_2
###�����
�##
##########�########a#�����
�#############�##�#_2##a#��#�#�#############�##|
#_2
###��p#0#�############�########a#��p#0#�#############�##�#_2########
#�#####1##�##���[##��####��#####�##��d#########d#############Tablice
wielowymiarowe:f
###############
#$##########################��#��d#########d#2#######3##�##��M��#���####��#####�
##��d#########d#########K###Jak tablic� odbieramy w funkcji?Co funkcja musi
wiedzie� na temat tablicy?�
#K#########K###
#############K#########!
####��#��d#########d#2#####*####��#��d#########d#2#######3##�###���
u#��####��#####�##��d#########d#########�###powinien by� znany typ
element�w tej tablicy;aby funkcja mog�a �atwo obliczy� sobie, gdzie w pami�ci
znajduje si� okre�lony element, musi zna� liczb� kolumn tej tablicy.
#�#############
##########################p###
##########################
###
#############�#########.####�q###d#########d#######|
####�q###d#########d#########3##�###�#�#�#��####��#####�##��d#########d#########
####Deklaracja funkcji fun wygl�da tak:�
###############
###############
##############
############################��#��d#########d#########3##�##��#�#�#��####��#####�
##��d#########d#############void fun ( int X[ ] [4]);(
###############
###############
###############
###############
############################��#��d#########d#######T###Q###
#
###����############R###S#####@# #��p#��############�##�_2##A# #
p#@#############�##�#_2##@#��
�@#############�##d_2##@#�������############�##�_2I###`�p�#�############�#######
A���p�0#�
############�####_2####�###8#�#####�##�##Z#=
6###��####��#####�##��d#########d#############29
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################Y###V#########��##############W###X####
_2P###U###Z#############################����####
#########@#p��# �##############�##�#_2##@#p��#�###############�####_2##!
#���#$�############�##�_2
###��#�
�#
##########�########a#��#�
�############�##�#_2
###���
X##
##########�########a#���
X#############�##�
_2########8#�#####1##�##���[##��####��#####�##��d#########d#############Tablice
wielowymiarowe:n
###############
#$##########################��#��d#########d#2#######3##�##��#��
���####��#####�##��d#########d#########>###Deklaracja:void fun2 (int X[3]
[4]);jest r�wnie� poprawna.
#>############
###############
###############
###############
###########
###
###############
#############>#########
####��#��d#########d############��#��d#########d############��#��d#########d####
########��#��d#########d############��#��d#########d#########3##�##��F
;#��####��#####�##��d#########d#########�###Przez analogi� deklaracja funkcji
otrzymuj�cej tablic� tr�jwymiarow� ma posta�:void fun3 (int Y[ ] [20] [30]);a
czterowymiarow�:void fun4 ( int Z [ ] [10] [30] [20] );
#�#########7###
############################# ###############
###############
###############
###############
###############
###############################
###############
########### ###
###############
###############
#############�#########P####��#��d#########d############��#��d#########d#######
####��#��d#########d############��#��d#########d############��#��d#########d####
########��#��d#########d#######(####��#��d#########d#######`###]#########����###
########^###_#####@# #��p#��############�##t#_2##A# #
p#@#############�###_2##@#��
�@#############�##4#_2##@#�������############�##�#_2I###`�p�#�############�#####
## A���p�0#�
############�##�
_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############30
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################e###b#########��##############c###d###<
_2\###a###f#############################����####
#########@#p��# �##############�##�
_2##@#p��#�###############�##�#_2##a#��P�`
��############�##�#_2##a#��P�##��############�##
#_2##########R#####3##�##��m�&
���####��#####�##��d#########d#############Programy demonstracyjne:
#################
##########################��#��d#########d#2#######3##�##��m��#���####��#####�##
��d#########d#############ZAMIE�.CPPELMIN.CPP
############################################��#��d#########d#2#####
####��#��d#########d#2#####l###i#########����######^#####j###k#####@#
#��p#��############�##L#_2##A# #
p#@#############�##�_2##@#��
�@#############�##�#_2##@#�������############�##�#_2I###`�p�#�############�#####
## A���p�0#�
############�##�
_2####�#####�#####�##�##Z#=
6###��####��#####�##��d#########d#############31
#################
##########################��#��d#########d#########2##�##
��#s ##
##########��#��d#########d#############
#######################q###n#########��##############o###p###�#_2h###m###r######
#################
#########################################################################/######
#########;###############G###############S###############_###############k######
#########w###############�###############�###############�###############�######
#########�###############�###############�###############�###############�######
#########�###############�######################################################
#########+###############7###############C###############O###############[######
#########g###############s#########t#############?7########����####
#########AGp�#�
��############�##4#?7# A�p�p� �#############�##�#?
7####�###########r##�##��-�V
���,###��#####��#��d#########d#########(###Kliknij, aby edytowa� styl
wzorca tytu�u
#(#########(#####,###########(#########(####��#��d#########d#########2##�##���V
s#��####��#####��#��d#########d#########`###Kliknij, aby edytowa� style
wzorca tekstuDrugi poziomTrzeci poziomCzwarty poziomPi�ty poziom
#`#########*##### #########
#################################################`#########*####��#��d#########d
#######
####��#��d#########d############��#��d#########d############��#��d#########d####
###
####��#��d#########d#######z###w#########################x###y###I###`�p�#�#####
#######�####### A���p�0#�
############�##
#?7################2##�##
��#s ��
###��#####��#��d#########d#########`###Kliknij, aby edytowa� style wzorca tekstu
Drugi poziomTrzeci poziomCzwarty poziomPi�ty poziom
#`#########`#####
###########`#########*####��#��d#########d#######
####��#��d#########d############��#��d#########d############��#��d#########d####
###
####��#��d#########d#######ࡱ###|#########��##############}###~###|#?
7v###{###�######5###5##################����####
#####################�###�#########����############�###�###�#?
7�#######�#############################����####
#####################�###�#########����############�###�###�#?
7�#######�######################�4#�,##�ࡱ########�#############?7#### #
#@#@#`#`#�#�###@###�###�#
#�#@#�#`###�###@###d###�#�#T#T#`#`#�#�###@#######x#x#�#�#`#`#�#�###@#######x#x#�
#�#`#`#�#�###@#######x#x#X#�#`#`#�#�###@###d#######�#�#`#`#�#�###@#######x#x#�#�
#h#h#�#�###@#######x#x# #�#`#`#�#�###@####��#�,
#�ࡱ########�#�#####�#####�#####�###
#�#####�#####�#####�#####�########�#############################################
#####################Z#��####����##33����������������������������X#������Y######
#\#####��####�####
#
################################################�###########
#,#4###�######d#d#####################d#d#d#####?
7#C�#######X#������Y#########h�h�h�Y#######D#Ga[���3####�####��##�(##�������####
##d#d#####################d#d#d#####�#�E�#######X#������Y#######��������Y#######
��##��̙
���3333�����������������######d#d#####################d#d#d#####X#�E�######
#X#������Y#######��������Y#######��##��̙
���3333�����������������######d#d#########
############d#d#d#####BF�F�#######X#������Y#######��������Y#######��##��̙
���3333��
��������������#�,#�,##�ࡱ##########�### #�######### #�#####�###<#?7L#?7,#?
7##r##�##,###########,###########,###########,###########,##########��#��d######
###d############�##��d#########d############�##��d#########d############�##��d##
#######d############�##��d#########d#############2##�##
##########################################################��#��d#########d######
######��#��d#########d############��#��d#########d############��#��d#########d##
##########��#��d#########d#############2##�##
###########
###########
###########
###########
##########��#��d#########d############��#��d#########d############��#��d########
#d############��#��d#########d############��#��d#########d###########��2##�#####
#############################################################d#########d###��###
#########d#########d###��############d#########d###��############d#########d###�
�############d#########d###��########3##�#######################################
######################�##��d#########d############�##��d#########d############�#
#��d#########d############�##��d#########d############�##��d#########d##########
#####################0#0############��#�,#�ࡱ##@###############�#########Times
New Roman###�5######�>#Dg-######<#@###############�########"Arial#�>U�g-
w4,###�>]�g-##�>#Dg-########P?�,##P#########�#########Times New Roman CE#7|
#######�F########L#P#####
#########�####�####Times New Roman CE####g-##L#?
7(@######M#Q#####9#########�#########Wingdings#o-##�#DB�,*A�8o-n#2Dx
######T#X###############�#�#######Times New Roman#@#####g-##L#?
76@######�,##L#############�####�###"Arial CE#,`BjBࡱ#�#ࡱ4XB!�7-�#2Dx
######## #####/#########�#�##�###"Arial CE###@#@��'-
#########C�A##########"###############�#########Times New Roman#@#####g-##L#?
76@######�,##L###&#########�####�###"Arial CE###@#@��'-e########C�A##########!
###############�#�##�####Times New Roman
CE#########C�A########N#R###############�#########Symbol#A�,`BjBࡱ#$#ࡱ4XB!�7-D
2Dt#######o-{##5###########�#########Symbol#####@#@��'-
###
####C�A########
#Y#####�##########,#,#####6
O##��t
�##HP LaserJet
IIIP#HPPCL5MS#LPT1:#############################################################
################################################################################
################################################################################
####�#HP LaserJet IIIP#(Copy 2)###########�#@##g####
###########,#####,##############################################################
#######################@#MSUD##HP LaserJet
IIIP################�###############d#
#############���@#p#����p#@###########u###�###�###�########�#�##d###B#B#B#####�#
##�###�###�###�###�###�#######�#�#�#�#####�###����#'##L###��
###!
#####�
�
�
�
�
�
�
�
�
�
�
�
�
�#########################################################################
################################################################################
################################################################################
################################################################################
################################################################################
################################################################################
################################### ###
#######
###
###########################�����������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
��������������������������������������������������������������������������������
�����������������������������������������������������������������###############
###########ş��Oh#��##+'��0###�###
#######P#######X#######h#######|
#######�#######�###
###�######�#######�#######�###########Tablice#####
###Olga Chore�#####
###Olga Chore�#########Microsoft PowerPoint##T#@###`�#�#u�#@###`]l]p�#@###`��^}!
�#G###�###����######o#M
#### ###�###############&#####����############�###�###
###&#####����########&#####����####TNPP##`�#0########�#�#######
###&###
#TNPP####�# ###&#####����########&#####TNPP##
###########################
#�#�############�###���#######-### ###�#######���#"#####-#######-###
#####!
#�#�#�#########-#######-###
###�###########"#####-
#######&#####����##G###�#######�#######&#####����##
###�#########################-#######
###########################&#####����##G###�###y###�#######&#####����######
###########################�#############-#######-#########i#i#�#8#####-
#######-#######
###################�#�######�####�####Times New Roman#�#####-
#######�#######
#���###############.###############2
D#u#####Tablice#'### #############.###############
#�#################.###############2
B#s#####Tablice#'### #############.#######################-#######-
#######�#########�####�###"System#�####-#######�#######&#####TNPP##
#############
###&#####����###################################################################
################################################################################
################################################################################
################################################################################
#