Concerto Apresentado Por Solista

New York Academy of Art - Bom pessoal, hoje a gente vai ver passagem de array, é, como parâmetro de uma função, tá, array eu digo, vetores, matrizes, ou outros com três ou mais dimensões, tá, a primeira coisa que a gente precisa saber é que... um array é sempre passado por referência pra função, tá nunca por cópia. Por que isso? Bom, na passagem por referência eu estou passando onde está o dado original na memória... isso evita cópia desnecessária de grandes quantidades de dados, tá. É, imagina que a gente tem um vetor com um milhão de posições, e você chama a função que vai somar, ou calcular a média... desse vetor, se você passasse por cópia, você teria que fazer a cópia de um milhão de valores, tá, isso... afetaria muito o desempenho do programa, além de gastar mais memória né, você tem que duplicar um milhão de dados. Se eu passo por referência, eu simplesmente estou apontando pra minha função, onde está o original, e ela trabalha em cima desses dados nenhuma cópia de todo o vetor é realizada, tá, então é muito mais rápido. Tem a desvantagem de, como eu estou passando o original... eu posso modificar o valor que está dentro desse vetor, então tomar cuidado quando estiver trabalhando com passagem por referência. Bom... vamos passar um array por referência, no caso, um vetor, eu posso usar qualquer uma dessas três notações aqui, então... essa primeira notação que a gente já está acostumado, né, int *m, eu estou passando... uma variável por referência. Passar o int m com colchetes vazio, ou int m, colchetes com valor numérico. tá. É, percebam que eu coloquei um segundo parâmetro aqui que foi passado por cópia, eu posso misturar cópia e referência. Esse n, na verdade vai ser o quê, o tamanho do meu vetor... Ah mas eu tinha passado aqui que o meu vetor tem o tamanho 5, tá. Apesar da linguagem C aceitar essa notação, esse 5 não significa nada pra ela, tá, quando você passa um vetor, você passa somente a primeira posição do vetor, então somente onde ele começa na memória, tá. imagina que você tem... a memória aqui... quando você passou o m, você está passando... onde ele começa, então... posição 0, 1, 2, 3, 4... e assim por diante, o n... é quem vai dizer quantas posições eu posso seguir, tá. Então eu posso dizer que meu n seja 5 posições, então, essa posição, essa, essa, essa e essa, estão dentro do meu vetor, tudo que vier... em seguida... não faz parte do meu vetor, então, sempre que trabalhar com vetor, ops, tem que passar onde ele começa e quantas posições pertencem, é, ao vetor, então 5 posições por exemplo. Aqui um exemplo, eu estou... uma função que imprime um vetor, então eu passei meu, é... parâmetro por referência e o tamanho do vetor, criei um vetorzinho aqui, v, tamanho 5, e aí chamei a função imprime, então eu estou passando aqui esse... vetor tem 5 elementos para ser impresso e aí usei o meu parâmetro m aqui, que é o tamanho do vetor... na condição do for, então for i igual a 0, e i menor que m, então ele vai de 0 até 4, que é menor que 5. Ok? Ah, bom... perceba que eu não precisei colocar um & tá, o & a gente utiliza pra dizer que é o endereço de onde está o meu dado na memória, só que o nome do vetor já é o endereço dele, então basta colocar o nome do vetor sem colchetes e sem índice, que você já está passando onde ele começa na memória.¬¬ Bom, aqui eu tinha usado asterisco, se a gente lembrar da aula de passagem por referência, a gente vai ver que sempre que usar um... é, passagem por referência tem que colocar o asterisco na frente... do nome, e eu não coloquei. Por quê? Porque eu já sei que o que vai vir aqui é um vetor, então se é um vetor eu posso usar a notação de colchete. Tem uma explicação para isso, depois a gente vai ver isso, só mais pra frente pra não confundir agora, então... se meu parâmetro passado por referência é um vetor, eu posso continuar tratando ele como um vetor. Ok? Ah, outra vantagem de eu passar o tamanho aqui separadamente... é que se eu quisesse imprimir apenas os três primeiros elementos do meu vetor, eu não precisaria mudar a função, bastaria ao invés de passar 5, passar 3 porque aí eu mudaria a condição do meu for, i menor que 3... então 0, 1 e o 2. Ok? Então tem uma função bem generalizada aqui. Bom... passagem de matrizes ou array com mais de uma dimensão, duas, três ou quantas dimensões você quiser, tem alguns probleminhas, a notação é um pouco diferente só vai ser aceita esse tipo de notação, a dos colchetes. Por quê? É, lembra quando a gente passou o vetor, a gente passou a primeira posição dele, e ele sabe... seguir, só tem que passar quantas linhas ele tinha, quantas posições, na matriz você não precisa informar quantas linhas tem, mas você precisa informar quantas colunas ou demais dimensões ele tiver, pra ele poder saber quanto de memória ele tem que pular pra chegar na próxima linha, então esse 2 aqui... faz diferença. Se fosse um array de 3 dimensões que eu estivesse passando, por exemplo... poderia ser m, ele teria... duas colunas, e 3 níveis de profundidade, eu precisaria passar esses dois, esse... eu defino aqui pelo meu parâmetro n, tá, que é o que eu utilizei aqui, i menor que n. A regra é a mesma do vetor, só que eu tenho que especificar... todos os parâmetros além do primeiro. Ah, continua tratando como vetor, então apesar de ser passagem por referência eu já sei que é uma matriz, então continua usando a notação de colchetes. E... não precisa do &, mesma coisa do vetor, o nome da matriz já é o endereço de onde ela começa na memória, então não precisa colocar o &... só não colocar colchetes e índice. Ok? Bom pessoal, até a próxima aula, continuando com funções..

Concerto apresentado por solista exames complementares nr Maranhão quanto custa o exame de biopsia. Paragominas curso html5 costa rica Monografia, uepg nota de corte sisu TCC, titulo de um artigo cientifico Relatórios, comprar artigos de festa monster high Relatório de Laboratório. Texto enciclopedico que es texto para apresentacao de hotel concerto apresentado por solista Alvorada vestido branco curto para ensaio fotografico. Exame de colinesterase alto Declaração Pessoal Carapicuíba normas de apresentacao de projeto de pesquisa abnt, o que fazer para evitar assedio moral no trabalho.

Marabá:

Jon Yates, Steuben County: Fashion Institute of Technology, Chelsea, Manhattan. Garanhuns: Binghamton University; 2013.

Sue Cole, Genesee. Ferraz de Vasconcelos: School of Visual Arts; 2006.

Duke Villegas, W 63rd Street zip 10023. Marília: Long Island Business Institute - Flushing; 2010.

inserted by FC2 system