Linguagem C ponteiros
|
|
- Catarina Fontes
- 5 Há anos
- Visualizações:
Transcrição
1 Linguagem C ponteiros IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná
2 Até agora... Introdução à linguagem C... Vetores Matrizes Funções Recursão Registros
3 Aula de hoje E se eu quiser uma função que retorne dois valores. Um inteiro e um ponto flutuante?
4 Aula de hoje E se eu quiser uma função que retorne dois valores. Um inteiro e um ponto flutuante? Funções retornam somente um valor simples
5 Aula de hoje E se eu quiser uma função que retorne dois valores. Um inteiro e um ponto flutuante? Funções retornam somente um valor simples E se eu quiser uma função que altere as variáveis simples que forem passadas como parâmetro?
6 Aula de hoje E se eu quiser uma função que retorne dois valores. Um inteiro e um ponto flutuante? Funções retornam somente um valor simples E se eu quiser uma função que altere as variáveis simples que forem passadas como parâmetro? Funções não alteram as variáveis externas simples passadas como parâmetro
7 Aula de hoje Ponteiros Passagem por Valor e por Referência
8 Ponteiros São tipos especiais de dados usados para armazenar endereços de memória Armazena o endereço de memória de outra variável do tipo informado na declaração Declaração: tipo *nome_variavel; Exemplo: int *mema; float *memb; Armazena o endereço de memória de uma variável do tipo int Armazena o endereço de memória de uma variável do tipo float
9 Operadores relacionados a ponteiros O operador & Retorna o endereço de memória de uma variável. Exemplo: int *mema; int a=90; mema = &a; O operador * Retorna o conteúdo do endereço apontado. Exemplo: printf( %d, *mema);
10 Organização Quando você usa a variável a, o programa retorna o valor contido na memória Quando você usa a variável mema, o programa retorna o endereço de memória mema a Memória Endereço Valor Abc e
11 Exemplo #include <stdio.h> int main(void) { int *mema; int a=90; mema = &a; printf(" %d --- %d", *mema, mema); O que será impresso na tela? *mema = a; printf("\n %d --- %d", *mema, mema); mema = a; printf("\n %d --- %d", *mema, mema); return 0;
12 Exemplo #include <stdio.h> int main(void) { int *mema; int a=90; mema = &a; printf(" %d --- %d", *mema, mema); um endereço um endereço *mema = a; printf("\n %d --- %d", *mema, mema); mema = a; printf("\n %d --- %d", *mema, mema); return 0; Erro em tempo de execução: Segmentation fault
13 Exemplo 2 #include <stdio.h> int main(void){ int b; int *c; b=10; c=&b; *c=11; printf("%d",b); O que será impresso na tela?
14 Exemplo 2 #include <stdio.h> int main(void){ int b; int *c; b=10; c=&b; *c=11; printf("%d",b); 11 Pois ambas as variáveis apontam para o mesmo endereço de memória
15 Exemplo 3 #include <stdio.h> int main(void){ int num, q=1; int *p; num=100; p = # q = *p; printf( %d",q); O que será impresso na tela?
16 Exemplo 4... int a, b; int *c; b = 10; *c = 13;... Em que endereço a constante será armazenada?
17 Exemplo 4... int a, b; int *c; b = 10; *c = 13; int a, b; int *c; b = 10; c = &a; *c = 13;... Correto seria se, antes da atribuição da constante, um endereço fosse atribuído a c
18 Atenção... int a, b, c; int *d; b = 10; c = 5; d = &c; a = b * d;... O operador * é usado em ponteiros e multiplicações
19 Atenção... int a, b, c; int *d; b = 10; c = 5; d = &c; a = b * d; int a, b, c; int *d; b = 10; c = 5; d = &c; a = b * (*d);... O bloco à esquerda dará um erro de compilação. O correto seria...
20 Exemplo 5 #include <stdio.h> int main(void){ double b,a; int *c; b=10.89; c=&b; a=*c; printf("%lf\n",a); O que será impresso na tela?
21 Exemplo 5 #include <stdio.h> int main(void){ double b,a; int *c; b=10.89; c=&b; a=*c; printf("%lf\n",a); Atribuição de tipos de dados incorreta. Mensagem do compilador: warning: assignment from incompatible pointer type Vai imprimir um número diferente de 10.89
22 Resumindo... Três usos para o operador * Na declaração de ponteiros: Exemplo: int *pont; No acesso ao valor apontado pelo ponteiro: Exemplo: printf( %d, *pont); Multiplicação de números: Exemplo: 10 * (*pont);
23 Indireção múltipla Podemos ter um ponteiro que aponta para outro ponteiro que aponta para um endereço. Isso também podem ser expandido para diversos níveis de indireção ponteiro ponteiro valor endereço endereço valor Apesar de possível é um conceito raro de ser usado e propenso a erros Exemplo: float **peso;
24 Operações com ponteiros int main(void){ double *a,*b, c, d; b=&c; a=&d; if(b < a) printf("\no endereço apontado por b é menor: %p e %p", b, a); else if(a < b) printf("\no endereço apontado por a é menor:%p e %p", a, b); else if(a == b) printf("mesmo endereço"); if(*a == *b) printf("mesmo conteúdo: %lf", *a);
25 Operações com ponteiros int main(void){ double *a,*b, c, d; b=&c; a=&d; Para imprimir um ponteiro usamos a máscara %p. if(b < a) printf("\no endereço apontado por b é menor: %p e %p", b, a); else if(a < b) printf("\no endereço apontado por a é menor:%p e %p", a, b); else if(a == b) printf("mesmo endereço"); if(*a == *b) printf("mesmo conteúdo: %lf", *a);
26 Operações com ponteiros Enquanto o ponteiro não estiver associado a um endereço é uma boa prática atribuir o valor NULL a ele Isto facilita as comparações para se saber se o ponteiro já tem um endereço válido associado Exemplo:... double *a = NULL, *b = NULL; a = &c; if (a!= NULL) {...
27 Passagem de parâmetros Passagem por valor Variáveis e constantes passadas por parâmetro para funções têm seus valores copiados para os parâmetros das funções (que são locais) Alterações nos parâmetros dentro da função não alteram as variáveis que foram passadas às funções
28 Exemplo de passagem por valor... void troca(int x, int y) { int aux; aux = x; x = y; y = aux; int main(){ int x=4, y=5; troca(x,y); printf ( x = %d e y = %d, x, y);
29 Exemplo de passagem por valor... void troca(int x, int y) { int aux; aux = x; x = y; y = aux; int main(){ int x=4, y=5; troca(x,y); printf ( x = %d e y = %d, x, y); Será impresso: x = 4 e y = 5 Isso porque a troca ocorreu com variáveis locais à função troca e, portanto, não afetam as variáveis da função main.
30 Passagem de parâmetros Passagem de argumentos por referência Em C só existe passagem de parâmetros por valor Em outras linguagens pode haver a passagem de parâmetros por referência Nesse tipo de passagem valores por referência podem ser alterados pela função que foi chamada
31 Passagem de parâmetros Algo parecido pode ser feito em C utilizando ponteiros Para isso basta passar como argumento de uma função o endereço da variável e não o seu valor Assim, alterações no valor contido no endereço que forem feitas pela função chamada afetarão a variável mesmo fora da função
32 Passagem de argumentos por referência #include <stdio.h> void troca(int *end_x, int *end_y) { int aux; if(end_x!= NULL && end_y!= NULL){ aux = *end_x; *end_x = *end_y; *end_y = aux; int main(){ Imprimirá: int x=4, y=5; x = 5 e y = 4 troca(&x, &y); printf("x = %d e y = %d\n", x, y);
33 Exemplo #include <stdio.h> void maxandmin(int vet[], int tam, int *min, int *max); int main(){ int v[] = {10, 80, 5, -10, 45, -20, 100, 200, 10; int min, max; maxandmin(v, 9, &min, &max); printf("o menor é: %d \no maior é: %d \n",min, max); void maxandmin(int vet[], int tam, int *min, int *max){ int i; *max = vet[0]; *min = vet[0]; for(i = 0; i < tam; i++){ if(vet[i] < *min) *min = vet[i]; if(vet[i] > *max) *max = vet[i];
34 Ponteiros e Vetores Um vetor ocupa um espaço contíguo de memória do tamanho do tipo de dados do vetor multiplicado pelo número de posições de vetor O vetor funciona como um ponteiro que aponta para a primeira posição Por isso que vetores passados como argumento podem ser alterados pelas funções chamadas
35 Ponteiros e Vetores Como uma variável do tipo vetor é um endereço, é possível atribuí-la a um ponteiro. Exemplo: int a[] = {1, 2, 3, 4, 5; int *p; p = a; Após a atribuição é possível usar o ponteiro p como um vetor. Exemplo: for(i=0; i<5; i++) p[i] = i*i;
36 Atenção Vetores ocupam endereços fixos de memória Não é possível atribuir um endereço a um vetor Exemplo errado: int a[] = {1, 2, 3, 4, 5, b[5], i; b = a; Exemplo correto: int a[] = {1, 2, 3, 4, 5, *b, i; b = a;
37 Ponteiros e Registros #include <stdio.h> struct Coordenada{ double x; double y; ; typedef struct Coordenada Coordenada; int main(){ Coordenada c1, c2, *c3; c3 = &c1;...
38 Ponteiros e registros #include <stdio.h> struct Coordenada{ double x; double y; ; typedef struct Coordenada Coordenada; int main(){ Coordenada c1, c2, *c3; c3 = &c1; c1.x = -1; c1.y = -1.5; c2.x = 2.5; c2.y = -5; *c3 = c2; O que será impresso na tela? printf("coordenadas de c1: (%lf,%lf)\n",c1.x, c1.y);
39 Acessando valores de um ponteiro de registro Duas maneiras: (*ponteiroreg).campo; ponteiroreg->campo; Exemplo: Coordenada c1, *c3; c3 = &c1; c3->x = 1.5; (*c3).y = 2.5;
40 Exemplo int main(){ Coordenada c1, c2, *c3, *c4; c3 = &c1; c4 = &c2; c1.x = -1; c1.y = -1.5; c2.x = 2.5; c2.y = -5; (*c3).x = 1.5; (*c3).y = 1.5; c4->x = -1; c4->y = -1; O que será impresso na tela? printf("coord. de c1: (%lf,%lf)\n",c1.x, c1.y); printf("coord. de c2: (%lf,%lf)\n",c2.x, c2.y);
41 Exemplo Cadastro de alimentos. O programa deve ter opções para incluir/excluir um alimento do cadastro. struct Food{ char nome[80]; double pesomedio; double calorias; short usado; ; typedef struct Food Food; Usaremos um vetor para cadastro dos alimentos. O campo usado de Food, serve para indicar se no vetor uma posição está em uso (1) ou não (0).
42 Exemplo - Funções void lefood(food *f); Lê dados de um alimento passado como ponteiro. void imprimefood(food f); Imprime dados de um alimento. void imprimefoods(food vet[], int tam); Imprime dados de um cadastro inteiro de alimentos. int inserefood(food vet[], int tam, Food f); Insere um alimento no cadastro se houver espaço! int removefood(food vet[], int tam, char nome[]); Remove um alimento pelo nome, se este estiver cadastrado!
43 Exemplo void lefood(food *f){ printf(" Lendo Alimento \n"); printf("digite o nome do alimento:"); scanf("%s", f->nome); printf("digite o peso médio do alimento:"); scanf("%lf", &(f->pesomedio)); printf("digite a quantidade de calorias do alimento:"); scanf("%lf", &(f->calorias));
44 Exemplo void imprimefood(food f){ printf(" \n\n--- Imprimindo Alimento ---\n"); printf("nome: %s\n",f.nome); printf("peso médio: %lf\n", f.pesomedio); printf("calorias: %lf\n", f.calorias); void imprimefoods(food vet[], int tam){ int i; for(i=0; i<tam; i++){ if(vet[i].usado == 1) imprimefood(vet[i]);
45 Exemplo int inserefood(food vet[], int tam, Food f){ int i; for(i=0; i<tam; i++){ if(vet[i].usado == 0){ vet[i] = f; vet[i].usado = 1; return 1; return 0; //cadastro está cheio
46 Exemplo int removefood(food vet[], int tam, char nome[]){ int i; for(i=0; i<tam; i++){ //strcmp retorna 0 se iguais if( strcmp(vet[i].nome, nome) == 0){ vet[i].usado = 0; return 1; return 0; //alimento não cadastrado
47 Atividades Crie a função principal do cadastro de alimentos, de maneira a utilizar todas as funções apresentadas. Considere que o usuário é quem escolhe a quantidade máxima de alimentos a serem armazenados.
48 Atividades Escreva uma função que recebe um vetor de inteiros vet e retorna a média dos valores de vet e o valor mais frequente (i.e. a moda estatística) Exemplo: vet = {1,2,3,3,5,2,10,2,4,2, media=3.4, moda=2 Escreva uma função que recebe uma string s1, contendo um nome completo e retorna o primeiro nome firstn e o último lastn.
49 Atividades Crie um programa de anotações de aula. O programa deve ter um registro do tipo: Código do tema: int Tema da aula: string Observações do aluno: string Nível de dificuldade: int (1-3), onde 1 significa fácil, 2 - normal e 3 difícil. O aluno pode cadastrar até 15 temas (registros) por disciplina. O aluno deve ter a opção de cadastrar, apagar e listar os temas cadastrados.
50 Atividades Escreva uma função intercala que recebe duas strings s1 e s2 e retorna uma string s3 que é a intercalação das duas primeiras Exemplo: s1 = JÃSLA, s2 = OOIV, s3 = JOÃOSILVA Agora faça uma nova versão de intercala que recebe dois vetores v1 e v2 de inteiros ordenados e retorna um terceiro vetor v3 também ordenado que contém os valores de v1 e v2. Obs.: não se esqueça de verificar se o vetores estão ordenados. Exemplo: v1 = {1,4,9,11, v2 = {2,3,7,10, 13, v3 = {1,2,3,4,7,9,10,11,13
Programação Estruturada
Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros
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 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 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 maisLinguagem C vetores. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C vetores IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e execução do primeiro
Leia maisponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
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 maisMC-102 Aula 21 Registros
MC-102 Aula 21 Registros Instituto de Computação Unicamp 27 de Outubro de 2016 Roteiro 1 Registros Declarando um novo tipo de Registro Acessando os campos de um Registro Lendo e Escrevendo Registros Atribuição
Leia maisLinguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída
Leia maisComputação I (MAB120) DCC/UFRJ
Computação I (MAB120) DCC/UFRJ Aula 12: vetores 13 de maio de 2016 Objetivos dessa aula Apresentar o conceito de Tipos Compostos Homogêneos Apresentar o conceito de vetores Apresentar as operações básicas
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 maisFunções em Linguagem C Parte II
Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
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 maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisComputação 2. Aula 2. Profª. Fabiany Vetores e Matrizes
Computação 2 Aula 2 Vetores e Matrizes Profª. Fabiany fabianyl@utfpr.edu.br Vetores Vetor também é conhecido como variável composta homogênea unidimensional; Um vetor computacional é um variável composta
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 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 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 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 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 maisALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória
ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos
Leia maisAula 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 maisModularidade - Funções e Procedimentos
Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada
Leia maisComputação I - C Prova /10/ Profs. Adriano Cruz e Valeria Bastos
Computação I - C Prova 2 2016-2 14/10/2016 - Profs. Adriano Cruz e Valeria Bastos Nome: DRE: Observação: Justifique todas as respostas dadas. Some nte serão aceitas respostas com justificativas. Questão
Leia maisDAS5102 Fundamentos da Estrutura da Informação
Ponteiros e Funções Funções ou sub-rotinas são parcelas de código que podem ser invocadas a partir do programa principal ou até mesmo por outras sub-rotinas. Elas têm como objetivo a execução de uma tarefa
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 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 maisINF 1007 Programação II
INF 1007 Programação II Aula 04 Alocação Dinâmica Edirlei Soares de Lima Vetores - Declaração e Inicialização Declaração de um vetor: int meu_vetor[10]; Reserva um espaço de memória
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 mais1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
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 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 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 maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisMétodos Computacionais. Funções, Escopo de Variáveis e Ponteiros
Métodos Computacionais Funções, Escopo de Variáveis e Ponteiros Tópicos da Aula Hoje vamos detalhar funções em C Escrevendo funções Comando return Passagem de argumentos por valor Execução de uma função
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 maisCapítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Leia maisLinguagem C estruturas de repetição
Linguagem C estruturas de repetição IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e
Leia maisAlocação Dinâmica em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara
Leia maisAula 06 Introdução à Programação Matrizes
Aula 06 Introdução à Programação Matrizes Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro Matrizes Unidimensionais (Vetor) Bidimensionais String Exercícios Gustavo Callou DEINFO/UFRPE
Leia maisPonteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ
Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando
Leia maisIntrodução à Computação
Introdução à Computação Linguagem C Aula de hoje Introdução Vetores (revisão) Relacionamento entre vetores e ponteiros Professor: André de Carvalho Definição: coleção de valores de dados individuais com
Leia maisIntrodução a Programação. Tipos Estruturados de Dados
Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados
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 mais11a. Aula Ponteiros e Vetores
11a. Aula Ponteiros e Vetores 2013.2 2 É um tipo de variável com uma ressalva...... armazena apenasendereçode memória (ou null) Se eu tiver o endereço da casa de Francisca, eu poderei visitá-la e lhe fazer
Leia maisProgramação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 7 Arrays. Arrays
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 7 Sumário: Classificação de tipos de dados Características gerais de tipos de dados compostos Definição de array (ou tabela)
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 maisHello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
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 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 maisProgramação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO Função Printf() Sintaxe printf( expressão de controle, argumentos); É uma função padrão para exibir uma mensagem na
Leia maisIntrodução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
Leia maisMC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais
MC-102 Aula 04 Expressões Relacionais, Lógicas e Comandos Condicionais Instituto de Computação Unicamp 26 de Agosto de 2016 Roteiro 1 Expressões relacionais 2 Expressões lógicas 3 4 Exercícios (Instituto
Leia maisMétodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
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 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 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 maisLISTA DE EXERCÍCIOS MÊS 04
São José dos Campos, 05 de Junho de 2008 Disciplina: CES 10 Introdução à Computação. Semestre 2008-2º Período Professor: Carlos Henrique Quartucci Forster Estagiária: Michelle de Oliveira Parreira Instituto
Leia maisIntrodução a Programação. Ponteiros e Vetores, Alocação Dinâmica
Introdução a Programação Ponteiros e Vetores, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos que existe uma forte relação entre ponteiros e vetores Associação entre ponteiros e vetores Ponteiros constantes
Leia maisProgramação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisBásico: estrutura de programa, sintaxe Interface com linha de comando
Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências
Leia maisLinguagem de Programação I. Aula 08 Linguagem C: Arrays
Linguagem de Programação I Aula 08 Linguagem C: Arrays Da Aula Anterior Tipos de dados básicos em C Modificadores de tipo Declaração de Variáveis Operadores em C Estruturas de Controle Nesta Aula Arrays
Leia maisComputação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função
Computação 2 Aula 5 defines vetor, strings e matriz por parâmetros de função Profª. Fabiany fabianyl@utfpr.com.br #define A diretiva #define define um identificador e uma string que o substituirá toda
Leia maisCurso de Programação C em Ambientes Linux Aula 04
Curso de Programação C em Ambientes Linux Aula 04 Centro de Engenharias da Mobilidade - UFSC Professores Gian Berkenbrock e Giovani Gracioli http://www.lisha.ufsc.br/c+language+course+resources Conteúdo
Leia maisConceitos básicos. Computação eletrônica: Gurvan Huiban
Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa
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 maisAlgoritmos e Programação
Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes
Leia maisINF 1620 P3-02/07/02 Questão 1 Nome:
INF 1620 P3-02/07/02 Questão 1 Considere um arquivo texto que contém os nomes e as notas dos alunos de uma disciplina. As informações de cada aluno ocupam duas linhas do arquivo: a primeira linha contém
Leia maisIntrodução à Linguagem C
Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br
Leia maisprim = A ; prim = &A[0];
57 12 - MAIS SOBRE APONTADOR 12.1 - Ponteiros e arrays Em C, ponteiros e matrizes são tratados de maneira semelhante. 12.1.1 - Nome O nome é um ponteiro, ou seja, aponta (contém o endereço) para o primeiro
Leia maisTipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas
Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
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 maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Estruturas em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Estruturas em C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA
Leia maisECT1203 Linguagem de Programação
Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira
Leia maisSub-rotinas David Déharbe
Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem
Leia maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?
Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o
Leia maisModularidade - Fun ções e Procedimentos
Modularidade - Fun ções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situa ções, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de
Leia maisAula 18: Funções em C
Aula 18: Funções em C Fernanda Passos Universidade Federal Fluminense Programação de Computadores IV Fernanda Passos (UFF) Funções em C Programação de Computadores IV 1 / 38 Agenda 1 Revisão e Contexto
Leia maisPonteiros - Parte I. Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória
Ponteiros - Parte I Ponteiros, Ponteiros e Vetores, Algoritmo Bubble Sort, Alocação Dinâmica de Memória Ponteiros Um ponteiro é uma variável que contém um endereço de memória. Esse endereço é normalmente
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011
Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisEntender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação
Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda
Leia maisProgramação Estruturada
Programação Estruturada Entrada e Saída. Mais sobre dados Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Saída
Leia maisProgramação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02
Programação 1 Atribuição, operadores aritméticos, entrada de dados Técnico em Eletrônica Semestre 5 02 Armazenando na memória tipo de variável #include #include main() { int ano; Declaração
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 maisIntrodução a Linguagem C (Parte II) UFPA Sistemas de Informação. Roberto Araujo 2013
Introdução a Linguagem C (Parte II) UFPA Sistemas de Informação Roberto Araujo 2013 Programação Modular (Funções) Funções Fornecem um mecanismo para o desenvolvimento de programas que facilitam: sua escrita,
Leia maisProgramação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];
Leia maisEXERCÍCIO DE SONDAGEM TURMA 02 SEMESTRE DATA: 01/11/2016. Matrícula Nome Nota
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Técnicas de Programação Prof.: José Eustáquio Rangel de Queiroz EXERCÍCIO
Leia mais1. Revisão de Vetores, Ponteiros, Funções e Estruturas em C
Introdução à Computação II 5952011 1. Revisão de Vetores, Ponteiros, Funções e Estruturas em C Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 1.1. Revisão
Leia maisSubprogramas. Prof. Carlos Lopes
Subprogramas Prof. Carlos Lopes Motivação Escreva um programa C capaz de calcular a combinação de n valores tomados p a p. Para realizar este cálculo, você deverá utilizar a seguinte fórmula: C n n! p
Leia maisApontadores/ponteiros
Apontadores/ponteiros 1 Apontadores/ponteiros 1. Um ponteiro pode ser manipulado como sendo um vetor. #include int v[5] = { 10, 20, 30, 40, 50 ; int p, i; p = v; for (i = 1; i < 5; i++) printf
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 maisAula 9 Oficina de Programação Strings. Profa. Elaine Faria UFU
Aula 9 Oficina de Programação Strings Profa. Elaine Faria UFU - 2017 String Cadeia de caracteres (ou String) É uma seqüência de letras e símbolos, na qual os símbolos podem ser espaços em branco, dígitos
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 maisLista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.
Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função. Funções e estruturas básicas 1. Faça uma função que recebe a idade de uma
Leia mais