Buscar

AED - Aula 10

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

���������	
�
�	��
�
��	
��
����	
�
������
����
����
�����
����
�
�� ��������	�
��������	
���������	�
��������	
��� ��������	�
��������	
���������	�
��������	
�
��������
��������
��������
��������
��
���� 
��
����
���� 
��
����
!�
��!�
��
�	�
��"��� 
��� ��
 #��	�
��"��� 
��� ��
 #�
!����	
!����	
$��$�����	$��$�����	 $���$��� ���� 
�������
���� 
�������
%��&��%��&��
���&��"��� 
��� ��
 #����&��"��� 
��� ��
 #�
��������	��������	��������	��������	
���
���'���
��
(
��(
��
���$
�����
)

��
�
���'���
��
(
��(
��
���$
�����
)

��
	�(*+����
��
#,��	 	�(*+����
��
#,��	 
������
#,��
$���
����-����

�
�.����
�������
����
#,��
$���
����-����

�
�.����
�������
������
#,��
$���
����-����

�
�.����
�������
����
#,��
$���
����-����

�
�.����
�������
�����
�
�
�// �����
�
�
�// 
������
#,��
��
���'���
)
����
#,��
��
���'���
)
������������
$��

�
������������
$��

�
��������
�
�)������������
�
�)�����
����$�������
��
	�
�
����$�������
��
	�
�����.�� �����.�� 
����
����
����
���� 0x0022FF160x0022FF16
0x0022FF170x0022FF17
���������������������.�������.��
��������	��������	��������	��������	
����
����
����
����
����
����
����
���� 0x0022FF170x0022FF17
0x0022FF180x0022FF18
0x0022FF190x0022FF19
0x0022FF1A0x0022FF1A
��������	��������	��������	��������	
������
�#0���
1&���2&��	�
	�����	�
&�����	�
��� 3
(
�
��	���
����
�#0���
1&���2&��	�
	�����	�
&�����	�
��� 3
(
�
��	���
��
���'���
��
���$
�����
��
$�

�
�����
�.����
��
��
���'���
��
���$
�����
��
$�

�
�����
�.����
��
#,��	4#,��	4
�� �������	4
�������	4
 55 #,��	
���	��
��&�	#,��	
���	��
��&�	
�� ���������	4
���������	4
 �� #,��#,��
�� ��������������
�
����4
��
�
����4
 55 #,��	
���	��
��&�	#,��	
���	��
��&�	
������
�#0���
���

�
����
�#0���
���

�
���������������� 
��6�
��(
����
��
��6�
��(
����
��
����7�
1�����3�
�
��������
)
��
7�
1�����3�
�
��������
)
��
#,��
#,��
����	
	����������&�
����	
	����������&�
��
�#0��� ��
�#0��� 
����������������
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
0x0022FF140x0022FF14
0x0022FF240x0022FF24
charchar string1[4]string1[4]
8���2&��8���2&�� 8����8����
��������	��������	��������	��������	
����
����
����
����
����
����
����
����
����
����
0x0022FF100x0022FF10
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
����
charchar string[4]string[4]
floatfloat real[4]real[4]
9�9�
��������	
��������	
�� :�	
��:�	
����������	
��������	
�� :�	
��:�	
��
�� ��
����������	

��
&���2&��
;
����
������
����	
��
����������	

��
&���2&��
;
����
������
����	
int x = 100;int x = 100;
�� ��
����������	

��
&���2&��
;
����
������
����	
��
����������	

��
&���2&��
;
����
������
����	
�		������	
�
���
�	
	��
����	
��������	4�		������	
�
���
�	
	��
����	
��������	4
�� <�
����
1<�
����
1;;33
�� <�
��������
��
���'���
�
�����+����
1<�
��������
��
���'���
�
�����+����
1�;#���=9�5�;#���=9�533
�� <�
&����
1<�
&����
1������33
������
���		����	
�
��������
��

��
&���2&���

����-���	
����
���		����	
�
��������
��

��
&���2&���

����-���	
�
�$������
�
�$������
&&
��������	��������	��������	��������	
��<�
$�������
1�$�������
�
<�
$�������
1�$�������
�
$������$������3
)

�
��$�
3
)

�
��$�
�	$�����
��
&���2&��
�	$�����
��
&���2&��
�
0�
&����
)

�
���������
0�
&����
)

�
�������� 
��<�
$�������
$���
���
�
&����
�	$�����
<�
$�������
$���
���
�
&����
�	$�����
6<��6<���
�
(
����
���
����)�
���>
�
�������� (
����
���
����)�
���>
�
�������� (
����
���
����)�
���>
�
�������� (
����
���
����)�
���>
�
�������� 
��6<��
)

��
���	�����6<��
)

��
���	����� ��������
��
#�#�������
��������
��
#�#�������
stdlib.hstdlib.h 
��������	��������	��������	��������	
���
�;$��		��
�����
��$��	����
�
�
�;$��		��
�����
��$��	����
�
�����.�������.�� ��
��
*var*var
���
�;$��		��
�����
��$��	����
�
�
�;$��		��
�����
��$��	����
�
�����.�������.�� ��
��
��������
��
���'���
�
������
��
&���2&��
��������
��
���'���
�
������
��
&���2&��
varvar
��?
	�0��
?
	�0��
varvar ���
�
����

�
&�����
��	
	��

�
���
�
����

�
&�����
��	
	��

�
��������
��
���'�����������
��
���'��� 
��������	��������	��������	��������	
��?
	@�#���
A
�����
)
���>�����
����
?
	@�#���
A
�����
)
���>�����
����
�$������
�$������
*var*var
��?
	@�#���
A
�����
)
���>�����
����
?
	@�#���
A
�����
)
���>�����
����
�$������
�$������
��
�����������
��������� 
���
�$������
�����
)
���>�����
����
�
�$������
�����
)
���>�����
����
��	���������������
��
$�������
��	���������������
��
$�������
varvar 
��������	
��������	
BB �;��$���;��$����������	
��������	
BB �;��$���;��$��
0x0022FF14����
����
1��3
int x;
int *ap; // apontador para inteiros
ap = &x; // ap aponta para x
int x;
int *ap; // apontador para inteiros
ap = &x; // ap aponta para x
0x0022FF10
0x0022FF14
x
����
����
����
����
����
����
����
����
ap
����
����
1��3
����
����
1CC3
����
����
1��3
����
����
1��3
9��9�
��������	��������	��������	��������	
��D2
D2
&2���	
��$�	
��
$�������	&2���	
��$�	
��
$�������	44
�� $�������	
$���
���������	$�������	
$���
���������	
�� $�������	
$���
�������	$�������	
$���
�������	
�� $�������	
$���
$�������	
$���
�������	$�������	
$���
$�������	
$���
�������	
�� $�������	
$���
&�����	$�������	
$���
&�����	
�� $�������	
$���
�	��
�
��	$�������	
$���
�	��
�
��	
��?
���$������
�
��-
(
�	���
��
?
���$������
�
��-
(
�	���
��
	�#��
��
(
�
��$�
��
	�#��
��
(
�
��$�
��
$�������$������� &��+
�	�2
��������� 
&��+
�	�2
��������� 
��������	
��������	
BB �;��$���;��$����������	
��������	
BB �;��$���;��$��
int *ap_int; // apontador para int
char *ap_char; // apontador para char
float *ap_float; // apontador para float
double *ap_double; // apontador para double
int *ap_int; // apontador para int
char *ap_char; // apontador para char
float *ap_float; // apontador para float
double *ap_double; // apontador para double
// apontador para apontador
int **ap_ap_int;
// apontador para apontador
int **ap_ap_int;
9�
�����)����
���
��������	�����)����
���
��������	�����)����
���
��������	�����)����
���
��������	
��<�
���0
���
��������
��
�$������
�����)����	
<�
���0
���
��������
��
�$������
�����)����	
$���
	��
�;��
���� $���
	��
�;��
���� 
��?	
$�������	
	��
?	
$�������	
	��
��������	
��
���'�����������	
��
���'��� 
�		���
 
�		���
��?	
$�������	
	��
?	
$�������	
	��
��������	
��
���'�����������	
��
���'��� 
�		���
 
�		���
��
	����
�
�

�
$��������
&��+
�	���2
����
��
	����
�
�

�
$��������
&��+
�	���2
����
$���
�
$���
�
$�';���
��������
��
���'���
��
��$�
��
$�';���
��������
��
���'���
��
��$�
��
�������� �	$��������� �	$��������� 
�����)����
���
��������	�����)����
���
��������	�����)����
���
��������	�����)����
���
��������	
��
int *ap;int *ap;
�� ��
apap
�E
CC
��
��
�5
CC
��
��
ap+1ap+1
��
CC
��
��
ap+2ap+2
�����)����
���
��������	�����)����
���
��������	�����)����
���
��������	�����)����
���
��������	
��!��$��
(
�
	����
�
	
#�����
$�������	�
��&�!��$��
(
�
	����
�
	
#�����
$�������	�
��&���
	�
���#��>��
���
�
	�
���#��>��
���
�
�����>�
��
��$�
��
���������>�
��
��$�
��
����

����-��� 
����-��� 
������
�		�
&��+
$���

	��
�
�$������
����
�		�
&��+
$���

	��
�
�$������
sizeof()sizeof() 
97
��������	
�
F����-�	��������	
�
F����-�	��������	
�
F����-�	��������	
�
F����-�	
��?
����
��

��
�����-
)�
��
&�������

�
?
����
��

��
�����-
)�
��
&�������

�
$�������
$���
$�������
$���
�
$�������
���������
$�������
�������� ��
�����-
1��������
#�	�3��
�����-
1��������
#�	�3
�� �		���
����	
�
�	
�����	
��
����;��
�	
��������	
��
�		���
����	
�
�	
�����	
��
����;��
�	
��������	
��

��
�����-
�
&����4
��
�����-
�
&����4
�� �		���
����	
�
�	
�����	
��
����;��
�	
��������	
��
�		���
����	
�
�	
�����	
��
����;��
�	
��������	
��

��
�����-
�
&����4
��
�����-
�
&����4
�� <	����
�
�$������
��
<	����
�
�$������
��
����;��������;���� 11v[4]v[4]33
�� <	����
�����)����
��
<	����
�����)����
��
��������	��������	 11*(ap_v + 4)*(ap_v + 4)33
9/95
F����-�	
��
$�������F����-�	
��
$�������	F����-�	
��
$�������	F����-�	
��
$�������	
����������	
$����
	��
������-���	
��
�����-�	
����
��������	
$����
	��
������-���	
��
�����-�	
����
(
��(
��
�
���
��$�
��
���� (
��(
��
�
���
��$�
��
���� 
��6�		�
��	��
#�	��
�#	��&��
(
�
�
�$������
6�		�
��	��
#�	��
�#	��&��
(
�
�
�$������
** ���
���
$�����+����
�����
(
�
�
�$������
��
����;����
$�����+����
�����
(
�
�
�$������
��
����;����
 
**
$�����+����
�����
(
�
�
�$������
��
����;����
$�����+����
�����
(
�
�
�$������
��
����;����
[][] 
int *vet_ap[5];
char *vet_cadeias[5];
int *vet_ap[5];
char *vet_cadeias[5];
void systax_error(int num)void systax_error(int num)
F����-�	
��
$�������	F����-�	
��
$�������	F����-�	
��
$�������	F����-�	
��
$�������	
��6�����������
	��

����-���	
����
$�������	
$���
6�����������
	��

����-���	
����
$�������	
$���
	�����		�����	�
$��	

��
	�����
)
�		�����������

�
$�������
�
$��	

��
	�����
)
�		�����������

�
$�������
$���
�
	�
$�������
��������� $���
�
	�
$�������
��������� 
void systax_error(int num)
{
char *erro[] = {
"Arquivo nao pode ser aberto\n",
"Erro de leitura\n",
"Erro de escrita\n",
"Falha de midia\n"};
printf("%s", erro[num]);
}
void systax_error(int num)
{
char *erro[] = {
"Arquivo nao pode ser aberto\n",
"Erro de leitura\n",
"Erro de escrita\n",
"Falha de midia\n"};
printf("%s", erro[num]);
}
��������
$���
�
������������
$���
�
������������
$���
�
������������
$���
�
����
��<�
$�������
$���

��
�
����
����)�
�
<�
$�������
$���

��
�
����
����)�
�
��������
��
��������
��
�
�����
���� ��
���'��� ��
���'��� 
�� ��
��	��
�����
(
�

�
����
��
�����-�

�
����
��
��
��	��
�����
(
�

�
����
��
�����-�

�
����
��
�
����
)
�
�
����
)
�
��������
��
���'���
��
������
��
�'������������
��
���'���
��
������
��
�'����
(
�
�;��
��
�
������
��
�
���� (
�
�;��
��
�
������
��
�
���� (
�
�;��
��
�
������
��
�
���� (
�
�;��
��
�
������
��
�
���� 
��?
?

	�
���	
���
�

	�
���	
���
�
��
$�������	
$���
�
��G�	
)
$�������
��
$�������	
$���
�
��G�	
)
$�������
(
�

��
�
����
$�		�
	��
$�		���
����
$��������
(
�

��
�
����
$�		�
	��
$�		���
����
$��������
$���

��
�
���
�
���� $���

��
�
���
�
���� 
��������
$���
�
������������
$���
�
������������
$���
�
������������
$���
�
����
����������	
��
�
����
$����
	��4��������	
��
�
����
$����
	��4
�� ����#
@��	����#
@��	 �
�
���	
$�������	��
�
���	
$�������	�
�� $�		���	$�		���	 ����
���
�����	�
����
���
�����	�
�� ���������	���������	 $��
�
��G�	�
�
$��
�
��G�	�
�
�� ���������	���������	 $��
�
��G�	�
�
$��
�
��G�	�
�
�� ����-�����	����-�����	 ��
�����-�	 ��
�����-�	 
9=
C
����
(
�
�������
$�������	C
����
(
�
�������
$�������	C
����
(
�
�������
$�������	C
����
(
�
�������
$�������	
��C
��G�	
(
�
��&��&��
$�������	
�
�������
��
��	��
C
��G�	
(
�
��&��&��
$�������	
�
�������
��
��	��
�����
(
�
�	
�
���	
��$�	
��
�
��G�	�����
(
�
�	
�
���	
��$�	
��
�
��G�	
�� ���
�	
�����>�	
��&��
	��
�#	��&���	4���
�	
�����>�	
��&��
	��
�#	��&���	4
�� ��������	
���
	��
&���2&��	��������	
���
	��
&���2&��	�� ��������	
���
	��
&���2&��	��������	
���
	��
&���2&��	
�� H
����
������������	�
���	
�$�����
$���
�
$�';���
��������
H
����
������������	�
���	
�$�����
$���
�
$�';���
��������
��
��$�
�$��������
��$�
�$������
�� ���
��
	�
��		��
�
���$������
��&�
	�#��
�
��$�
�$������
$��
���
��
	�
��		��
�
���$������
��&�
	�#��
�
��$�
�$������
$��
����
$�������
�������������
$�������
���������
�� ���������

��
�
����
(
�
�������
$�������
��&�
���������

��
�
����
(
�
�������
$�������
��&�
��������
��������
�;$�����������
(
��
��$�
��
$�������
�	�2
�����������;$�����������
(
��
��$�
��
$�������
�	�2
����������
C
����
(
�
�������
$�������	C
����
(
�
�������
$�������	C
����
(
�
�������
$�������	C
����
(
�
�������
$�������	
<tipo> *funcao(.....)
{
....
return (ponteiro);
<tipo> *funcao(.....)
{
....
return (ponteiro);
99
return (ponteiro);
}
return (ponteiro);
}
I��$�J
I��$�J
���
$���
	�����
$���
	�� &���&����
$��	4�
$��	4
•• C
����
��&�
��&��&��
���
�
&����C
����
��&�
��&��&��
���
�
&����
•• ��������
��&�
�$�����
$���
���
�
��$�
��
������������
��&�
�$�����
$���
���
�
��$�
��
����
��������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'���
��<�
$��������
��
	��
�;��
�����
��&���
�
���'���
��
<�
$��������
��
	��
�;��
�����
��&���
�
���'���
��
���$
�����
��
(
����
2���	4���$
�����
��
(
����
2���	4
�� ��	��
�G�	��	��
�G�	 BB ����-���
�
�'����
�
���$�����
�
�������
��
����-���
�
�'����
�
���$�����
�
�������
��
����
����
��
�2(
��� ����
����
��
�2(
��� 
�� ���>����>� BB ����
	��
������	
�	
&���2&��	
�����	 ����
	��
������	
�	
&���2&��	
�����	 �� ���>����>� BB ����
	��
������	
�	
&���2&��	
�����	 ����
	��
������	
�	
&���2&��	
�����	 
�� F��'���
�	�2����F��'���
�	�2���� BB ����
	��
������	
�	
&���2&��	
���#��	
�
�����	
����
	��
������	
�	
&���2&��	
���#��	
�
�����	
�	�2����	 �	�2����	 
�� D��$D��$BB ��	������
�
����-����
����	
�������	
������������� ��	������
�
����-����
����	
�������	
������������� 
����	
�	�2����	����	
�	�2����	
��������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'���
��#���
	�
�����>�
	�0�
��#���
	�
�����>�
	�0�
��	���>������
�
>��$
��	���>������
�
>��$
��	��
�G�	
����	
��������	
1D��$3
����	
��������	
1D��$3
���>����>�
��	���>������
�
>��$
��	���>������
�
>��$
����������
����)�

��
����������
����)�

��
(
��������
��-��&�������
(
��������
��-��&�������
������
��
���'���
��&�� ������
��
���'���
��&�� 
��������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'���
�� �	
&���2&��	
��
�	
&���2&��	
��
$��>�$��>� �
��
���'���
�
��
���'���
�	�2�����	�2���� $����	��
���
$����	��
���
�����>�
���>�����
�����>�
���>�����
����	
��
$�������
	��
���$����� ����	
��
$�������
	��
���$����� 
�� �
��������
��������
��
���'���
$������
��	��&��
�
��������
��������
��
���'���
$������
��	��&��
�	$���	
��
���'���
��
�����>�
��#���2���
�
���		2�	$���	
��
���'���
��
�����>�
��#���2���
�
���		2����	
��	
����&)	
��
�$��������	 ����&)	
��
�$��������	 ����&)	
��
�$��������	 ����&)	
��
�$��������	 
�� ��	��
������
$�����	
�	���&��
$�������	
���	
��	��
������
$�����	
�	���&��
$�������	
���	
���;@&��	�
$��	
���
����	
�	
�����>�	
��&��
	��
���;@&��	�
$��	
���
����	
�	
�����>�	
��&��
	��
��������	
��	
�	���&��
�
$������� ��������	
��	
�	���&��
�
$������� 
��������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'�����������
��������
��
���'���
���
��������
�
��#������
��		�	
�	$���	
��
�
��������
�
��#������
��		�	
�	$���	
��
���'���
)
�����
$��
�
�	
�
��G�	
��
#�#�������
���'���
)
�����
$��
�
�	
�
��G�	
��
#�#�������
stdlib.hstdlib.h44
�� malloc()malloc()4
�����

�
�	$���
��
���'��� 4
�����

�
�	$���
��
���'��� malloc()malloc()
�� free()free()4
��#���

�
�	$���
��
���'��� 4
��#���

�
�	$���
��
���'��� 
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
�� �#��&���
��
��
�#��&���
��
��
�����,
���������������,
����������
�� �����

�
#����
��
#,��	
���	��
��&�	
��
���'���
�
�����

�
#����
��
#,��	
���	��
��&�	
��
���'���
�
��&��&�
�
��������
��		�
#���� ��&��&�
�
��������
��		�
#���� 
��:������

�
$�������
��
��$�
:������

�
$�������
��
��$�
voidvoid voidvoid
�� ��&���&���	�

����-��

�
	�

����-��

�
��	�
��	�
1���������3
$���
����	������
�
1���������3
$���
����	������
�
$�������
��&��&���
$���

�
$�������
��
��$�
��	�0��� $�������
��&��&���
$���

�
$�������
��
��$�
��	�0��� 
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
int *p;int *p;
���;��$��4�;��$��4
��������

�
&����
��
��������

�
&����
��
�� ��������	
��
��$�
������� ��������	
��
��$�
������� 
9E
int *p;
p = (int*) malloc(n * sizeof(int));
int *p;
p = (int*)malloc(n * sizeof(int));
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
�� �
���'���
���
)
���������
���'���
���
)
�������� 
!�
�
���'���
��
���$
�����
 
!�
�
���'���
��
���$
�����
02
�	��&��
����
��
$����
�
�
����
02
�	��&��
����
��
$����
�
�
����
���������������
���	��
�
���
���	��
�
������
���	
�	$���
�
������
���	
�	$���
�
��&��&�
6<����&��&�
6<�� 
<	��

�
<	��

�
$�������
�
��$�������
�
�� ���&��2���&��2�
	�
���$
�����
��
�
	�
���$
�����
��
��<	��

�
<	��

�
$�������
�
��$�������
�
�� ���&��2���&��2�
	�
���$
�����
��
�
	�
���$
�����
��
�������
��	
��	�	 �������
��	
��	�	 
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
malloc()malloc()
�����&)�
&��������
�		�
$�		�#�������
����	
��
$��		��
�� ���&)�
&��������
�		�
$�		�#�������
����	
��
$��		��
�� 
ptr = (int*) malloc (1000*sizeof(int));
if (ptr == NULL)
ptr = (int*) malloc (1000*sizeof(int));
if (ptr == NULL)if (ptr == NULL)
{
printf ("Sem memoria\n");
return 1;
}
...
if (ptr == NULL)
{
printf ("Sem memoria\n");
return 1;
}
...
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
free()free()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
free()free()
����#���
�

	�
��

�
#����
��
���'����
$���������
(
�
��#���
�

	�
��

�
#����
��
���'����
$���������
(
�
�	��
�	$���
	�0�
���$��&������ �	��
�	$���
	�0�
���$��&������ 
��?
��	��
��������
���������
$��

��
�>�����
��
?
��	��
��������
���������
$��

��
�>�����
��
�
����
�
����
 ��&�
	��
$�		���
$���
�
�
����
��&�
	��
$�		���
$���
�
�
����
��?
��	��
��������
���������
$��

��
�>�����
��
?
��	��
��������
���������
$��

��
�>�����
��
�
����
�
����
malloc()malloc() ��&�
	��
$�		���
$���
�
�
����
��&�
	��
$�		���
$���
�
�
����
free()free() 
 
�� �
������������
��
�����>�
��
#����
�
	��
��#�����
)
�
������������
��
�����>�
��
#����
�
	��
��#�����
)
�����
�
������������� �����
�
������������� 
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
free()free()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
free()free()
�� �;��$��4�;��$��4 ��#������
�	$���
��
$���
$��

�
&����
��
��#������
�	$���
��
$���
$��

�
&����
��
���
�������	���
�������	
int *p;int *p;
9K
int *p;
p = (int*) malloc(100 * sizeof(int));
free(p);
int *p;
p = (int*) malloc(100 * sizeof(int));
free(p);
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
realloc()realloc()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
realloc()realloc()
�� �		�
�
����
��-

�
#����
02
�������
���	���
�
�����
���
�		�
�
����
��-

�
#����
02
�������
���	���
�
�����
���
$��	��&����$��	��&���� �
�����.��
02
�;�	�����4�
�����.��
02
�;�	�����4
(tipo*) realloc(tipo *apontador, int novo_tamanho)(tipo*) realloc(tipo *apontador, int novo_tamanho)
int *x, i;
x = (int *) malloc(4000*sizeof(int));
for(i=0;i<4000;i++) *(x+i) = rand()%100;
x = (int *) realloc(x, 8000*sizeof(int));
x = (int *) realloc(x, 2000*sizeof(int));
free(x);
int *x, i;
x = (int *) malloc(4000*sizeof(int));
for(i=0;i<4000;i++) *(x+i) = rand()%100;
x = (int *) realloc(x, 8000*sizeof(int));
x = (int *) realloc(x, 2000*sizeof(int));
free(x);
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
realloc()realloc()
��������
��������
��
���'�����������
��������
��
���'���
44
C
����
44
C
����
realloc()realloc()
��� A;�
�L
;
M
1��� A3
������15���A	�-���1���33L
���1�M�L�I5���L�NN3
A1;N�3
M
����13O���L
��� A;�
�L
;
M
1��� A3
������15���A	�-���1���33L
���1�M�L�I5���L�NN3
A1;N�3
M
����13O���L x
x
;
M
1���
A3
�������1;�
E���A	�-���1���33L
;
M
1��� A3
�������1;�
����A	�-���1���33L
����1;3L
;
M
1���
A3
�������1;�
E���A	�-���1���33L
;
M
1��� A3
�������1;�
����A	�-���1���33L
����1;3L
x
x
x
E�
H
�	�G�	
H
�	�G�	
H
�	�G�	
H
�	�G�

Outros materiais