Buscar

Capítulo - 07 - Funcoes 2

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 11 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 11 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 11 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

9/5/2006 08:31 1
Curso de C
Funções
9/5/2006 08:31 2
Curso C - IC/UNICAMP
Funções
• Entender o conceito de função em C
• Parâmetros 
• Mecanismos de passagem de parâmetros
Objetivos:
>
9/5/2006 08:31 3
Curso C - IC/UNICAMP
Funções
tipo nome(lista argumentos) {
declarações locais
corpo 
}
>
Declaração:
int pot2(int k) {
int val=1;
for ( ; k>0; k-- )
val *=2;
return val;
}
tipo
nome argumentos
declarações
corpo
retorno
9/5/2006 08:31 4
Curso C - IC/UNICAMP
Funções
#include <stdio.h>
int pot2(int k) {
int val=1;
for ( ; k>0; k-- )
val *=2;
return val;}
int main(void) {
int k,p;
scanf(“%d”,&k);
p = pot2(k);
printf(“2^%1d = %1d\n”,k,p);
return 0;
}
Chamada:
>
outra rotina
chamada de pot2
NovaFunc
9/5/2006 08:31 5
Curso C - IC/UNICAMP
Funções
>
Escopo de variáveis:
int func (int i, float x);
int main(void) {
int i,k; float x,y;
M1; M2;
k=func(k, x+y);
M3; return 0; 
}
#include <stdio.h>
int k; float z;
int func (int i, float x) {
int j; float z;
F1; F2;
return (i+j) 
}
vars. globais
protótipo
rotina principal
rotina
9/5/2006 08:31 6
Curso C - IC/UNICAMP
Funções
>
Mapa de memória:
memória
i k x y
M1
M2
i k x y
arg1
arg2
prep. args.
inicia main
+
transf. args.
k y
i j x z
exec. func
k
z
i x
k
z
k
z
9/5/2006 08:31 7
Curso C - IC/UNICAMP
Funções
>
Param
memória
F1; F2
exec. func
k y
i j x z
ret. valor
k y
i j x z
+
prep. ret.
k yxi
exec. main
k
z
i x
k
z
k
z
val. perdidos
i x
9/5/2006 08:31 8
Curso C - IC/UNICAMP
Funções
>
Escopo de variáveis: extern e auto
extern int a=1;
int b=2;
void main(void) {
int d;
. . . . 
f1( );
. . . . }
prog.c
int c;
void f1(void) {
extern int a;
int b=20;
extern int c;
. . . . }
lib.c
main
f1
ba
c
b
a
c
d
c
a
b
ExternAuto
9/5/2006 08:31 9
Curso C - IC/UNICAMP
Funções
>
Escopo de variáveis: static e register
int a ,b;
void main(void) {
int c;
. . . . 
f1( );
. . . . }
prog.c
static int a;
extern int b;
void f1(void) {
static int i=0;
. . . . }
lib.c
main
f1
b
a
b
a
a
b
a
c
i
i
StaticReg
9/5/2006 08:31 10
Funções
• ConcatPt
• AnagramaPt
9/5/2006 08:31 11
Funções
Fim

Continue navegando