Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi
|
|
- Matheus de Miranda de Oliveira
- 5 Há anos
- Visualizações:
Transcrição
1 Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi BCC /2 Baseado nos slides do Prof. Guillermo Cámara-Chávez
2 Aulas anteriores Vetores Matrizes Cadeias de caracteres 2 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
3 Aula de hoje 1 Memória 2 Ponteiros 3 Ponteiros e passagem por referência 4 Ponteiros e vetores 5 Próxima aula 2 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
4 Aula de hoje 1 Memória 2 Ponteiros 3 Ponteiros e passagem por referência 4 Ponteiros e vetores 5 Próxima aula 2 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
5 Memória Memoria I Endereço A B C D Valor memória está formada por várias élulas. A memória é formada por várias ada célula contém células. um endereço e um alor. tamanho do Cada endereço célulae ocontém tamanho um endereço o valor dependeme um valor da arquitetura (veja exemplo do ao omputador lado). (32/64 bits) O tamanho do endereço e do Endereço valor dependem Valor da arquitetura D (32/64 bits). 2/81 3 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
6 Memória Memoria II Endereço A B C D Valor i i n t main ( ) { c h a r i ; r e t u r n 0 ; } Exemplo: O caractere i ocupa 1 byte na memória (considerando uma arquitetura de 32 bits) 1 int main() Declaro 2 { um caracter chamado i. 3 char i; Os4caracteres return ocupam 0; 1 byte na memória 5 } (para uma arquitetura de 32 bits) 3/81 4 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
7 Memória Memoria III Endereço A B C D Valor i i n t main ( ) { i n t i ; r e t u r n 0 ; } Exemplo: Inteiro i ocupa 4 bytes na memória (considerando uma arquitetura de 32 bits) 1 int main() Declaro um número inteiro 2 { chamado 3 i. int i; 4 return 0; Os inteiros ocupam 4 bytes na 5 } memória (para uma arquitetura de 32 bits) 4/81 5 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
8 Memória Memoria IV Endereço A B C D Valor i i n t main ( ) { f l o a t i ; r e t u r n 0 ; } Exemplo: Ponto flutuante i ocupa 4 bytes na memória (considerando uma arquitetura de 32 bits) 1 int main() Declaro um número ponto 2 { flutuante 3 chamado float i; i. 4 return 0; Os flutuantes ocupam 4 bytes 5 } na memória (para uma arquitetura de 32 bits) 5/81 6 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
9 Memória Memoria V Endereço A B C D Valor i i n t main ( ) { d o u b l e i ; r e t u r n 0 ; } Exemplo: Double i ocupa 8 bytes na memória (considerando uma arquitetura de 32 bits) Declaro 1 int ummain() número flutuante de 2 dupla { precisão chamado i. 3 double i; Os4flutuantes return de dupla 0; precisão ocupam 5 } 8 bytes na memória (para uma arquitetura de 32 bits) 6/81 7 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
10 Endereços Ao declararmos uma variável x, ela será associada a: Um nome (x) Um endereço de memória ou referência (0xbfd267c4) Um valor (9) 1 int x = 9; Para acessar o endereço de uma variável, utilizamos o operador & 1 int x; 2 cout << "O endereço de memória de x é " << &x << endl; 8 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
11 Aula de hoje 1 Memória 2 Ponteiros 3 Ponteiros e passagem por referência 4 Ponteiros e vetores 5 Próxima aula 8 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
12 Ponteiros Um ponteiro (apontador ou pointer) é um tipo especial de variável que armazena um endereço de memória Ponteiros são declarados utilizando o caractere especial *: 1 int *pi; // pi é um ponteiro do tipo int 2 char *pc; // pc é um ponteiro do tipo char 3 float *pf; // pf é um ponteiro do tipo float 4 double *pd; // pd é um ponteiro do tipo double Vários podem ser declarados em uma única linha: 1 int *p1, *p2, *p3; 9 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
13 Ponteiros O conteúdo da memória apontada por um ponteiro se refere ao valor armazenado no endereço de memória para o qual o ponteiro aponta. Este conteúdo (valor) pode ser alterado usando o operador * Exemplo: 1 int main() 2 { 3 int x = 10, y = 0; 4 int *px = &x; 5 y = *px; // y recebe o conteúdo do endereço apontado por x 6 cout << "y = " << y << endl; 7 return 0; 8 } O que será impresso? 1 y = / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
14 Ponteiros Exemplo: 1 int main() 2 { 3 int x = 0; 4 int *px; 5 px = &x; 6 *px = 99; 7 cout << "x = " << x << endl; 8 return 0; 9 } O que será impresso? 1 x = / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
15 Ponteiros Exemplo: 1 int main() 2 { 3 int x = 100; 4 int *px = &x; 5 cout << "valor de x = " << x << endl; 6 cout << "endereço de x = " << &x << endl; 7 cout << "endereço de x = " << px << endl ; 8 cout << "valor de x = " << *px << endl ; 9 return 0; 10 } Exemplo de saída (computador com 64 bits): 1 valor de x = endereço de x = 0x7ffedfc1e378 3 endereço de x = 0x7ffedfc1e378 4 valor de x = / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
16 Exemplo: ponteiros e memória Memoria VI Endereço A B C D E F Valor c i f d i n t main ( ) Exemplo: { c h a r Note c ; os quatro ponteiros... i n t i ; f l o 1 a t int f ; main() d o u2 b l e{ d ; r e 3t u r n 0 ; char *c; } 4 int *i; 5 float *f; 6 double *d; Declaração 7 de return quatro0; ponteiros(c, i, f8 e d). } Cada ponteiro de um tipo diferente(char, int, float, double). Todos requerem o mesmo Todostamanho eles ocupam(32/64 o mesmo bits). espaço na memória, 4 bytes. Isso acontece Lembre-se: porque um todosponteiro eles armazenam armazena endereços umdeendereço memória, de e o tamanho de um endereço memória, independente do 7/81tipo. memória é o mesmo para todos os tipos. 13 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
17 Exemplo: ponteiros e memória Memoria IX Exemplo de uso: Endereço A B C D C D Valor i 1 int main() 2 { i n t main 3 ( ) int i; { 4 i = 15; i n 5t i ; char c = 's'; i = ; int *p = &i; c h a7 r c = s *p = ; 25; i n 8t p = &i return ; 0; 9 p = 2} 5 ; r e t u r n 0 ; } A memória para o inteiro i é alocada. A variável c do tipo char é criada e inicializada com o valor s. 10/81 14 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
18 Exemplo: ponteiros e memória Memoria IX Exemplo de uso: Endereço A B C D C D Valor 15 i 1 int main() 2 { i n t main 3 ( ) int i; { 4 i = 15; i n 5t i ; char c = 's'; i = ; int *p = &i; c h a7 r c = s *p = ; 25; i n 8t p = &i return ; 0; 9 p = 2} 5 ; r e t u r n 0 ; } O conteúdo de i é alterado para 15 (representação está em A variável decimal, c do tipo maschar na prática é é tudo criadaem e inicializada binário). com o valor s. 10/81 14 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
19 Exemplo: ponteiros e memória Memoria IX Exemplo de uso: Endereço A B C D C D Valor 15 i s c 1 int main() 2 { i n t main 3 ( ) int i; { 4 i = 15; i n 5t i ; char c = 's'; i = ; int *p = &i; c h a7 r c = s *p = ; 25; i n 8t p = &i return ; 0; 9 p = 2} 5 ; r e t u r n 0 ; } A memória para o caractere c é alocada e inicializada com s. A variável c do tipo char é criada e inicializada com o valor s. 10/81 14 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
20 Exemplo: ponteiros e memória Memoria XI Exemplo de uso: Endereço A B C D C D Valor 15 s i c p i n t main ( ) { 1 int main() i n 2 t i ;{ i = ; int i; c h4a r c = i s = ; 15; 5 i n t p = &i char ; c = 's'; 6 int *p = &i; p = 2 5 ; 7 *p = 25; r e t u r n 0 ; 8 return 0; } 9 } Finalizando, O ponteiro fazemos deuma inteiro p é atribuição. declarado e inicializado com o Colocamos endereço 25 node valor memória de i apontado por p. Como visto no slide anterior Neste exemplo p aponta para fictício, i p é igual a Desse modo, colocamos (em hexadecimal). 25 no valor da variável i. 12/81 14 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
21 Exemplo: ponteiros e memória Memoria XI Exemplo de uso: Endereço A B C D C D Valor 25 i s c p i n t main ( ) { 1 int main() i n 2 t i ;{ i = ; int i; c h4a r c = i s = ; 15; 5 i n t p = &i char ; c = 's'; 6 int *p = &i; p = 2 5 ; 7 *p = 25; r e t u r n 0 ; 8 return 0; } 9 } Finalizando, Agora, fazemos o conteúdo uma da memória atribuição. apontada por p é atualizado para Colocamos no valor apontado por p. Como visto no slide anterior Ou seja, p aponta o conteúdo para i do endereço Desse modo, colocamos é alterado 25 nopara 25. valor da variável i. 12/81 14 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
22 Tipos de ponteiros Há vários tipos de ponteiros: Ponteiros para caracteres Ponteiros para inteiros Ponteiros para vetores Ponteiros para ponteiros para inteiros etc... C++ requer que você especifique o tipo de ponteiro! 15 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
23 Aula de hoje 1 Memória 2 Ponteiros 3 Ponteiros e passagem por referência 4 Ponteiros e vetores 5 Próxima aula 15 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
24 Passagem por valor Qual o problema da função a seguir? 1 void nao_troca(int a, int b) 2 { 3 int aux = a; 4 a = b; 5 b = aux; 6 } Os parâmetros são passados por valor! Assim, cópias de a e b são passadas para a função. Logo: a função não efetua a troca de fato! 16 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
25 Passagem por referência C++ permite fazer passagem por referência: 1 void troca_ref(int &a, int &b) 2 { 3 int aux = a; 4 a = b; 5 b = aux; 6 } A função recebe a referência das variáveis a e b. Agora sim: a função trocará os valores das variáveis a e b passadas por parâmetro. 17 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
26 Passagem de ponteiros Ao contrário de C++, a linguagem C não implementa passagem por referência... A solução é utilizar ponteiros para simular a passagem por referência. 1 void troca(int *a, int *b) 2 { 3 int aux = *a; 4 *a = *b; 5 *b = aux; 6 } A função recebe ponteiros para duas variáveis. Em seguida, troca o conteúdo das memórias apontadas. 18 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
27 Como usar essas funções? Eis um exemplo de uso das três funções apresentadas: 1 int main() 2 { 3 int a, b; 4 5 a = 1; b = 2; 6 nao_troca(a, b); // valores a e b são passados (e não há troca) 7 cout << "a = " << a << ", b = " << b << endl; // a = 1, b = a = 1; b = 2; 10 troca_ref(a, b); // a e b são recebidos por referência 11 cout << "a = " << a << ", b = " << b << endl; // a = 2, b = a = 1; b = 2; 14 troca(&a, &b); // ponteiros para a e b são passados 15 cout << "a = " << a << ", b = " << b << endl; // a = 2, b = 1 16 } 19 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
28 Exemplo de execução assagem de apontadores IV 38/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
29 Exemplo de execução assagem de apontadores V 39/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
30 Exemplo de execução assagem de apontadores VI 40/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
31 Exemplo de execução assagem de apontadores VII 41/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
32 Exemplo de execução assagem de apontadores VIII 42/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
33 Exemplo de execução assagem de apontadores IX 43/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
34 Exemplo de execução assagem de apontadores X 44/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
35 Exemplo de execução assagem de apontadores XI 45/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
36 Exemplo de execução assagem de apontadores XII 46/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
37 Exemplo de execução assagem de apontadores XIII 47/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
38 Exemplo de execução assagem de apontadores XIV 48/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
39 Exemplo de execução assagem de apontadores XV 49/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
40 Exemplo de execução assagem de apontadores XVI 50/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
41 Exemplo de execução assagem de apontadores XVII 51/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
42 Exemplo de execução assagem de apontadores XVIII 52/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
43 Exemplo de execução assagem de apontadores XIX 53/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
44 Exemplo de execução assagem de apontadores XX 54/81 20 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
45 Exercício 1 Crie uma função que duplica o conteúdo da memória apontada por um ponteiro p. Utilize o protótipo a seguir: 1 void duplica(int *p); Exercício 2 Indique e corrija o erro do código a seguir: 1 int main() 2 { 3 int valor; 4 cin >> valor; 5 6 int *p = &valor; 7 p = p * p; 8 cout << "Valor ao quadrado = " << valor << endl; 9 10 return 0; 11 } 21 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
46 Aula de hoje 1 Memória 2 Ponteiros 3 Ponteiros e passagem por referência 4 Ponteiros e vetores 5 Próxima aula 21 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
47 Ponteiros e vetores Lembram de vetores? A variável que representa o vetor pode ser vista como um ponteiro. Mas... o que o código a seguir vai imprimir? 1 int v[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 2 cout << "*v = " << *v << endl; 1 *v = 1 *v imprime o conteúdo (do tipo int) que está no endereço de memória v, que é exatamente igual a v[0]. 22 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
48 Ponteiros e vetores Portanto: v[0] é equivalente a *v, que é equivalente a *(v+0) v[4] é equivalente a *(v+4) Aritmética de ponteiros: Ao somar 4 em um ponteiro do tipo int*, estamos pulando 4 inteiros. Assim, podemos utilizar indexação (v[4]) ou aritmética de ponteiros (*(v+4)) para ler/escrever na memória. 23 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
49 Ponteiros e vetores Qual a diferença prática das funções a seguir? 1 void imprimevetor1(int v[], int n) { 2 for (int i = 0; i < n; i++) 3 cout << v[i] << " "; 4 cout << endl; 5 } 6 7 void imprimevetor2(int *v, int n) { 8 for (int i = 0; i < n; i++) 9 cout << v[i] << " "; 10 cout << endl; 11 } void imprimevetor3(int *v, int n) { 14 for (int i = 0; i < n; i++) 15 cout << *(v+i) << " "; 16 cout << endl; 17 } 24 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
50 Ponteiros e vetores Exemplos de utilização: 1 int main() 2 { 3 int v[5] = { 100, 101, 102, 103, 104 }; 4 5 imprimevetor1(v, 5); 6 imprimevetor2(v, 5); 7 imprimevetor3(v, 5); 8 9 return 0; 10 } Resultado: / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
51 Ponteiros e vetores Outro exemplo (agora com cadeia de caracteres): O que o código a seguir vai imprimir? 1 int main() 2 { 3 char c[100] = "Cadeia de caracteres!"; 4 cout << c+10 << endl; 5 } 1 caracteres! Como um vetor é representado por um ponteiro (endereço de memória), podemos usar aritmética de ponteiros! Neste exemplo, utilizamos aritmética de ponteiros para pular as 10 primeiras posições do array c. 26 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
52 Ponteiros e vetores E o código a seguir? O que vai imprimir? 1 int main() 2 { 3 char c[100] = "Cadeia de caracteres!"; 4 cout << &c[10] << endl; 5 } 1 caracteres! Se &x retorna o endereço de memória de x, então &c[10] retornará o endereço de memória da 10 a posição do array c. Ora, como um vetor é representado por um ponteiro (endereço de memória), o código acima funcionará. 27 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
53 Exercícios Exercício 1 Crie uma função que retorna o maior número em um vetor de inteiros utilizando artimética de ponteiros. Dica: utilize o protótipo a seguir. 1 int maior(int *vetor, int tamanho); 28 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
54 Aula de hoje 1 Memória 2 Ponteiros 3 Ponteiros e passagem por referência 4 Ponteiros e vetores 5 Próxima aula 28 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
55 Próxima aula Ponteiros e alocação dinâmica 29 / 29 Túlio Toffolo & Puca Huachi Introdução a Programação Aula 23: Ponteiros
56 / 12 Perguntas?
Aula 24: Ponteiros e Alocação Dinâmica
Aula 24: Ponteiros e Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula anterior Memória Ponteiro Utilização
Leia maisAula 25: Alocação Dinâmica
Aula 25: Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização de ponteiros
Leia maisAula 08: Funções (Parte II)
Aula 08: Funções (Parte II) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Introdução a Funções Aula prática
Leia maisAula 03: Introdução a C
Aula 03: Introdução a C Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior O que é um computador Organização de um
Leia maisAula 27: Estruturas heterogêneas e alocação dinâmica
Aula 27: Estruturas heterogêneas e alocação dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória
Leia maisAula 17: Funções (Parte III) e Introdução a Vetores
Aula 17: Funções (Parte III) e Introdução a Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exemplos
Leia maisBCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/54
BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/54 Ponteiros... I i n t main ( ) { i n t x ; x = 10 cout
Leia maisAula 25: Alocação Dinâmica
Aula 25: Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aulas anteriores Estruturas de memórias heterogêneas
Leia maisAula 26: Estruturas heterogêneas
Aula 26: Estruturas heterogêneas Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização
Leia maisBCC Introdu c ao ` a Programa c ao I Ponteiros Guillermo C amara-ch avez UFOP 1/61
BCC 201 - Introdução à Programação I Ponteiros Guillermo Cámara-Chávez UFOP 1/61 Ponteiros... I i n t main ( ) { i n t x ; x = 10 p r i n t f ( " Conteudo de x: %d \n", x ) ; p r i n t f ( " Endereco de
Leia maisAula 28: Arquivos de texto
Aula 28: Arquivos de texto Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides de Guillermo Cámara-Chávez Aulas anteriores Memória Ponteiro Utilização
Leia maisAula 20: Matrizes (Parte 2)
Aula 20: Matrizes (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Vetores Matrizes 2 / 15 Túlio Toffolo
Leia maisEstrutura de dados 1. Ponteiros
Estrutura de dados 1 Ponteiros Ponteiros Um ponteiro é um endereço de memória O valor de um ponteiro indica onde uma variável está armazenada Um ponteiro proporciona um modo de acesso a uma variável sem
Leia maisEstruturas (registros)
BCC 201 - Introdução à Programação I Estruturas (registros) Guillermo Cámara-Chávez UFOP 1/44 Estruturas (struct) I Imaginemos que queremos ler as notas de 4 provas para um aluno e calcular a média do
Leia maisFundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação
Leia maisPonteiros. Baseado nos slides do Prof. Mauro.
Baseado nos slides do Prof. Mauro. A memória do computador é uma sequência de bytes, na qual endereçamos cada um sequencialmente. Como vimos, uma variável é uma região da memória que reservamos para armazenar
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso
Leia maisPonteiros e alocação dinâmica de memória. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto
Ponteiros e alocação dinâmica de memória Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Ponteiros Ponteiros e vetores Passagem por cópia e por referência Alocação
Leia maisAula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi
Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exercícios da aula prática 2 Vetores 3 Exemplos
Leia maisEssencialmente, um ponteiro nada mais é do que uma variável que ao invés de conter um valor, contém um endereço de memória.
Ponteiros e Arrays Ponteiros são fundamentais para a programação bem sucedida em C: Passagem de parâmetros por referência; Alocação dinâmica de memória; Aumentar a eficiência de certar rotinas. Essencialmente,
Leia maisCentro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros
Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II Ponteiros Profa.: Simone Ceolin Slides (Prof.Tiago Rios da Rocha) Primeiro Semestre 2011 Sumário
Leia maisPonteiros e Alocação Dinâmica. Prof. Péricles Miranda
Ponteiros e Alocação Dinâmica Prof. Péricles Miranda pbcm@cin.ufpe.br Memória A memória é formada por várias células. Cada célula contém um endereço e um valor. Memória Endereço Ao declararmos uma variável
Leia maisPonteiro. Ponteiro. Objetivo. Compreender a definição e dominar a implementação de ponteiros em C.
Ponteiro Definição de variável apontadora Aritmética de ponteiros Ponteiros e vetores Funções e passagem por referência Structs e ponteiros Alocação dinâmica de memória Objetivo Ponteiro Ponteiro Compreender
Leia maisLinguagem de Programação C. Ponteiros
Cristiano Lehrer Conceitos Básicos (1/3) char ch; RAM 100 101 102... 5000 5001 5002... ch ch = 'A'; RAM ch A 100 101 102... 5000 5001 5002... char *; RAM ch A 100 101 102... 5000 5001 5002... = &ch; ch
Leia maisAula 29: Arquivos binários
Aula 29: Arquivos binários Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização de ponteiros
Leia maisProgramação II. Ponteiros. Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Ponteiros Bruno Feijó Dept. de Informática, PUC-Rio Ponteiro Ponteiro (pointer) é uma variável que armazena o endereço de uma variável. p Sempre inicialize ponteiros! Ponteiros não inicializados
Leia maisLinguagem C Ponteiros
Linguagem C Ponteiros Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Janeiro de 2018 Unidade 14 Linguagem C - Ponteiros 1/24 Identificadores e Endereços
Leia maisPonteiros, ponteiros e vetores e alocação dinâmica de memória
Ponteiros Ponteiros ou apontadores (em inglês pointers) são variáveis cujo conteúdo é um endereço. Já vimos que variáveis são posições na memória que podem conter um determinado valor dependendo de seu
Leia maisEstruturas Homogêneas (Vetores)
BCC 201 - Introdução à ProgramaçãoI Estruturas Homogêneas (Vetores) Guillermo Cámara-Chávez UFOP 1/59 Introdução I Como armazenar 3 notas? i n t main ( ) { f l o a t nota1, nota2, nota3 ; p r i n t f (
Leia maisTÉCNICAS DE LINGUAGEM DE PROGRAMAÇÃO
TÉCNICAS DE LINGUAGEM DE PROGRAMAÇÃO Ponteiros Definição Variável: área de memória que armazena dados de um certo tipo. Na memória, toda variável possui um endereço. Um Ponteiro é uma variável especial
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão
Leia maisIntrodução à Programação
Introdução à Programação Aula 08 Ponteiros Edirlei Soares de Lima Endereço de uma Variável Toda variável definida em um programa ocupa uma área de memória; A cada área de memória
Leia maisEstruturas II UFOP 1/35
BCC 201 - Introdução à Programação I Estruturas II Guillermo Cámara-Chávez UFOP 1/35 Conceito de struct I Vetores e matrizes Estruturas de dados homegêneas Armazenam vários valores, mas todos de um mesmo
Leia maisPrincípios de Desenvolvimento de Algoritmos MAC122
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Aula de Revisão: Variáveis e Atribuições Introdução Memória Principal: Vimos no curso anterior que a CPU usa a memória
Leia maisPonteiros. prof. Fabrício Olivetti de França
Ponteiros prof. Fabrício Olivetti de França Anteriormente em prog. estrut. Vimos que as variáveis representando arrays em C armazenam apenas um apontador para o endereço de memória contendo os valores
Leia maisEstruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C
Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos
Leia maisALOCAÇÃO DINÂMICA DE MEMÓRIA
INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador
Leia maisVetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique
Vetores e Matrizes Prof. Fabrício Olivetti de França Charles Henrique Vetores Estáticos Um vetor em C é declarado como: tipo nome[tamanho]; 2 Vetores Estáticos /* vetor de nome v1 com 100 elementos do
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisSumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?
Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros
Leia maisIntrodução a Programação. Ponteiros e Passagem de Argumentos por Referência
Introdução a Programação Ponteiros e Passagem de Argumentos por Referência Tópicos da Aula Hoje aprenderemos a manipular endereços de memória ou ponteiros Variáveis e Endereços Conceito de Ponteiro Operadores
Leia maisFaculdade de Computação
Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Leia maisComputadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Matrizes Alocação estática versus dinâmica Vetores bidimensionais matrizes Matrizes dinâmicas ATENÇÃO
Leia maisPonteiros e Tabelas. K&R: Capítulo 5
Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros
Leia maisA sintaxe para se declarar uma variável do tipo ponteiro é dada por:
Pense duas vezes e faça uma vez. Provérbio Chinês. PONTEIROS Um ponteiro nada mais é que uma variável capaz de armazenar um número hexadecimal que corresponde a um endereço de memória de outra variável.
Leia maisC++ BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP
C++ BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Introdução I C++ é uma extensão a linguagem C Desenvolvida por Bjarne Stroustrup na década
Leia maisINF 1620 P1-13/09/02 Questão 1 Nome:
INF 1620 P1-13/09/02 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$
Leia maisComputação 2. Aula 7. Profª. Fabiany Ponteiros
Computação 2 Aula 7 Ponteiros Profª. Fabiany fabianyl@utfpr.edu.br O que são Ponteiros? Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra
Leia maisPonteiros de Variáveis
Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem
Leia maisPausa para nossos comerciais
AULA 5 Pausa para nossos comerciais Plantão de dúvidas: Vinícius Horário: terças das 12h às 13h Onde: Rede Linux do IME, Bloco A, sala 127 Treinos para Maratona de Programação: Horário: quintas das 14h
Leia maisEstrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses
1 3 Estrutura de dados 2 Ponteiro Ponteiro 2 O ponteiro é um tipo de dado como int, char ou float. A diferença do ponteiro ponteiro guardará um endereço de memória. Por meio deste endereço pode-se acessar
Leia maisCMP Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira
CMP1048 - Técnicas de Programação 2 a Lista de Exercícios - Passagem de parâmetros por referência e ponteiros Max Gontijo de Oliveira 1. Considere um programa em C++ que tenha duas variáveis declaradas
Leia maisANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa
ANHANGUERA 2015.2 ESTRUTURA DE DADOS AULA 04 Prof. Thomás da Costa thomascosta@aedu.com O que é: Matrizes São vetores que possuem duas ou mais dimensões para armazenar valores. Uma matriz de duas dimensões,
Leia maisIntrodução a Ponteiros e Vetores em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Introdução a Ponteiros e Vetores em C Material preparado pela profa Silvana Maria Affonso de Lara e utilizado por
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 03 - Ponteiros Edirlei Soares de Lima Endereço de uma Variável Toda variável definida em um programa ocupa uma área de memória; A cada área de memória
Leia maisNOTAS DE AULA 09 Estruturas e Ponteiros
Estrutura de Dados 1 NOTAS DE AULA 09 Estruturas e Ponteiros 1. Estruturas de Dados A linguagem C/C++ fornece uma porção de tipos de variáveis: int, float, long, double, boolean, char... dentre outros.
Leia maisMCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)
MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Sobre funções ( uma ideia ) 2 Qual função é mais eficiente? 3 1995 2015 4 Qual
Leia maisEstruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C
Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C 2015/1 Programação Básica de Computadores (INF 09325) Archimedes Detoni www.inf.ufes.br/~archimedesdetoni archimedesdetoni@inf.ufes.br
Leia maisComputação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010 1 Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/1 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c
Leia maisProgramação I Ponteiros e alocação dinâmica de memória. Prof. Carlos Alberto
Programação I Ponteiros e alocação dinâmica de memória Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Ponteiros O ponteiro é um tipo de dado como int, char ou float; Variáveis
Leia maisInstituto Federal de Educação, Ciência e Tecnologia do RN Câmpus Currais Novos. LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I
LINGUAGEM C++ VARIÁVEIS COMPOSTAS Arrays Aula I Prof. Bruno E. G. Gomes Uma variável em um algoritmo pode ser vista como uma gaveta. A declaração de uma variável reserva uma gaveta (posição) de um certo
Leia maisC++ Orientado a Objetos
flavio@facom.ufu.br flaviosilva@computer.org a@comp org 1 Declaração As variáveis em C++ podem ser de duas diferentes naturezas Uma variável pode conter um VALOR ou um ENDEREÇO VALOR A declaração de uma
Leia maisBCC202 - Estrutura de Dados I
BCC202 - Estrutura de Dados I Aula 02: Alocação Dinâmica de Memória Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes
Leia maisLINGUAGEM C: PONTEIROS
LINGUAGEM C: PONTEIROS Prof. André Backes DEFINIÇÃO Variável É um espaço reservado de memória usado para guardar um valor que pode ser modificado pelo programa; Ponteiro É um espaço reservado de memória
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4
Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para
Leia maisSSC304 Introdução à Programação Para Engenharias. Ponteiros. GE4 Bio
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias s GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr.
Leia maisMétodos Computacionais. Tipos Estruturados
Métodos Computacionais Tipos Estruturados Tipos Estruturados C oferece tipos primitivos que servem para representar valores simples Reais (float, double), inteiros (int), caracter (char) C oferece também
Leia maisPonteiros. Ponteiros. Ponteiros. Ponteiros. Ponteiros. Introdução a Programação. Profa. Roseli Romero
ICMC USP 1.semestre/2009 Introdução a Programação e vetores em C Profa. Roseli Romero um é uma variável que contém o endereço um dado declaração: * indica que a variável é um tipo_dado *nome_; int x; int
Leia maisTipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação
Tipos de Dados, Variáveis e Entrada e Saída em C DCC 120 Laboratório de Programação Variáveis Uma variável representa um espaço na memória do computador para armazenar um determinado tipo de dado. Em C,
Leia maisAlgoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas Aula Tópico 2 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para o compilador
Leia maisPrincípios de Desenvolvimento de Algoritmos MAC122
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Alocação Dinâmica de Memória Motivação: Nossos programas pré-fixavam o número de variáveis a serem utilizadas. No caso
Leia maisAula 10: Funções (Parte III)
Aula 10: Funções (Parte III) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Baseado nos slides do Prof. Guillermo Cámara-Chávez Aulas anteriores Funções Ponteiros
Leia maisESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS
ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender a organização dos dados na memória Compreender o que são ponteiros Capacitar para implementar programas com
Leia maisINTRODUÇÃO À LINGUAGEM C
INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima
Leia maisParadigmas de Linguagens
Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos
Leia maisIntrodução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados
Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Disciplina de Programação de Computadores I Universidade Federal de Ouro
Leia maisIntrodução a Programação. Ponteiros para Estruturas, Outros Tipos de Estruturas
Introdução a Programação Ponteiros para Estruturas, Outros Tipos de Estruturas Tópicos da Aula Hoje aprenderemos a trabalhar com ponteiros para estruturas Ponteiros para estruturas Alocação dinâmica de
Leia maisMelhores momentos AULA 5
Melhores momentos AULA 5 Registros e structs structs. aniversario struct { int dia; int mes; int ano; } aniversario ; dia mes ano Registros e structs Para não repetir struct... o tempo todo podemos denir
Leia maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia mais- Mapa de memória de um processo - Ponteiros
1 MCTA028 Programação Estruturada - Mapa de memória de um processo - Ponteiros Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-2018 2 Alocação de
Leia maisMCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2)
MCTA028 Programação Estruturada Aula 09: - Ponteiros (parte 2) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-2018 Sobre funções ( uma ideia ) Qual função é mais
Leia maisComputação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples
Leia maisVetores e matrizes. MCTA028 Programação Estruturada. Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti
1 MCTA28 Programação Estruturada Vetores e matrizes Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-218 Armazenar 1 inteiros em um programa... Usando
Leia maisVariáveis, Comandos de Atribuição e Comando de Entrada e Saída
BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/63 Estrutura Básica de um programa C I < d i r e t i v a s do pre p r o
Leia maisConceitos Básicos de Programação
BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de
Leia mais3ra. Avaliação - Grupo A
Universidade Federal de Ouro Preto - UFOP Disciplina: BCC 201 - Introdução à Programação Professor: Guillermo Cámara-Chávez Aluno: No. A cola não será tolerada. Se alguém for pego colando, será reprovado
Leia maisa) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: ( 1)
INF 620 P - 7/04/04 Questão a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: Ou seja: π 4 * + 3 π 5 7 + 9 i ( ) 4 * n i= 0 2 * i + + K Esta função
Leia maisAlgoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI. Prof. Paulo Henrique Pisani
Algoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI Prof. Paulo Henrique Pisani fevereiro/2019 Algoritmos e Estruturas de Dados I Ementa: Breve introdução à linguagem C; Noções básicas de análise
Leia maisAula 24 Ponteiros, vetores e structs
Programação Aula 24 Ponteiros, vetores e structs Prof. Laura Silva de Assis Engenharia de Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis
Leia maisExercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal
Exercício Crie uma função que recebe o número de dias até um determinado evento e calcula e retorna o equivalente em meses, semanas e dias, sem usar vetor ou o conceito de vetor. Considerar que todos os
Leia maisEstruturas Dinâmicas - Ponteiros Parte I
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estruturas Dinâmicas - Ponteiros Parte I Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br
Leia mais#include<iostream> using namespace std; main(){ int i=20; int *p; p=&i; cout << "Valor da variável: " << *p << endl; }
Aula 2 Ponteiros Ponteiros são um tipo de variável que aponta para outra, ou seja, um ponteiro guarda o endereço de memória de uma variável. No exemplo abaixo, observe que: (i) a variável p é do tipo ponteiro
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisCap. 2 Expressões na linguagem C
Programação de Computadores II Cap. 2 Expressões na linguagem C Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (24) Slides adaptados dos originais
Leia mais1 Exercícios com ponteiros
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Oitava Aula Prática - 29 de outubro de 2010 O objetivo desta aula prática é exercitar ponteiros e funções. 1 Exercícios com ponteiros
Leia maisRevisão C++ - Parte 1
Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o
Leia maisLinguagem C. Ponteiros. Alex Vidigal Bastos.
Linguagem C Ponteiros Alex Vidigal Bastos alexvbh@gmail.com Ponteiros Ponteiros são variáveis que contém endereços. Estas variáveis apontam para algum determinado endereço da memória. Em geral, o ponteiro
Leia mais