Linguagem C - Aula 6.1 - Domine vetores (arrays) em linguagem C (2022)

107.64k views5427 WordsCopy TextShare
Pietro Martins De Oliveira
👨🏻‍💻 QUER TER ACESSO ÀS LISTAS DE EXERCÍCIOS E SLIDES DA AULA ⁉️ 👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇🏻👇...
Video Transcript:
E aí e Salve salve meu querido minha querida tudo bem com você até a última aula falamos lá sobre as estruturas de repetição os laços de repetição especificamente wilon eofor a partir de agora vamos começar a ser muito úteis para nós quando a gente fala de vetores mas antes da gente avançar para essa parte de vetores Claro Relembrando da aula das aulas anteriores na verdade a une a gente fala de Laços é importante que você venha para cá já com os laços de repetição dominados é um pouquinho mais difícil se você vir para cá não
dominando laços Porque como os vetores exigem que a gente passa por várias casas várias posições dos vetores como a gente vai ver aqui já já de forma automatizada sem os laços de repetição fica muito mais complicado então o que costumo dizer para quem está iniciando se você foi até laços de repetição e se sentiu confortável até ali é a partir daí que você realmente vai ganhar confiança para começar a andar com as próprias pernas daí em diante você vai perceber que até chegar nos laços pode ser um pouco mais chatinho mas dolorido para você aprender
só que a partir daí mesmo que os próximos conteúdos sejam bem mais elaborados e às vezes um pouco mais de raciocínio por você já ter forçado o seu modo de pensar com os laços de repetição a partir daqui fica mais tranquilo de entender legal então caso você tenha chegado até aqui ainda não esteja aí família risada ou familiar errada bastante com os laços de repetição vale a pena então um pensar de novo e voltar e refazer os exercícios e enfim dominada em essa técnica de repetição Tá bom então a gente vê finalmente os vetores a
gente fala aqui então de uma forma de armazenar dados mais complexa mas elaborada do que a gente vinha fazendo com as variáveis simples que a gente usou até as últimas aulas aí beleza a gente vai ver então mais ou menos como a memória do computador ela se organiza internamente a gente vai manipular vetores que ele a vetores manipular eles ver a código fonte e aí a gente brinca um pouquinho com entrada e saída com ventos então o que que é um vetor no fim das contas é uma estrutura de dados Assim como as variáveis simples
que a gente usava logo a variável do tipo int a variável do tipo Cloud são variáveis simples Aonde eu consigo armazenar apenas um dado por vez é lógico que lá nas variáveis simples ao longo do programa A gente conseguia e alterando o conteúdo das variáveis conforme a necessidade conforme a lógica do desenvolvedor agora aqui a gente tem um é de poder porque os vetores eles são como se fossem um aglomerado de várias variáveis Simples então se lá nós tínhamos a possibilidade de salvar apenas um dado em uma variável simples a que a gente consegue salvar
10 20 enfim vários dados distintos com valores com conteúdos distintos dentro de uma mesma variável que é o vetor o vetor então ele é um um aglomerado de variáveis simples ele vai ter um único nome Assim como as variáveis simples também tinha o único nome só que diferente das variáveis cintos o vetor consegue armazenar vários dados nesse mesmo nome beleza olha só que legal então para a gente acessar essas diferentes posições diferentes dados dentro do vetor com esse mesmo nome a gente vai se apoiar nessa questão do índice e tem um link então que controla
as posições a gente vai ver então aqui agora a declaração de um retorno quando a gente for para o código-fonte aqui vai ficar mais claro mas é basicamente a mesma forma que nós tínhamos de declarar variáveis normalmente como a gente fazia lá que não vai dar bem inteiro Olha eu volte Inclusive a gente até te vi lá no início nas primeiras aulinhas a gente teve Sim já contato com o vetor que foi vetor deixar quando a gente foi lá gravar o nome de uma pessoa lá no comecinho do curso a gente falou disso a gente
falou dos vetores deixar que serão objeto da próxima aula objeto de estudo nosso aí mas olha só para declarar um vetor assim como uma variável simples eu tenho que dar um tipo parece vetor beleza eu tenho que dar um nome para esse vetor Então até aqui o nome é a mesma coisa que a gente faria para uma vai dar uma variável simples Tá agora a diferença é que no vetor eu tenho que deixar claro Qual é o tamanho dele entre colchetes aqui ó B bom então tipo o nome o tamanho dele entre colchetes E aí
eu fecho com; essa declaração do vetor Olha só como que fica essa brincadeira em memória então assim se nas variáveis simples eu vou até pegar minha canetinha aqui para rabiscar se nas variáveis simples eu podia armazenar apenas um dado aqui ó na memória para Digamos que a minha memória a grosso modo ela ela tem vários Beats Tá certo fala quadradinho desse do desenho da esquerda é um bico de memória e aí por exemplo se eu vou armazenar um inteiro né o enterro do meu culpa 32 bits então lá na memória o meu inteiro olha ele
voltaria tudo isso né a gente possível 1 2 3 4 5 6 7 8 X4 32 bits aqui reservados ao inteiro e ao inteirinho beleza aqui o meu 10 é o meu inteiro Qual que é a diferença portanto do meu inteiro simples para um por exemplo um vetor de inteiros se eu fosse por outro lado aqui E se eu fosse ter um vetor de inteiros imagina o vetor agora com três posições na memória olha só a primeira posição no vetor ocuparia que os primeiros 32 bits a segunda os próximos 32 bits e assim sucessivamente Beleza
então olha só que que eu teria aqui eu teria a grosso modo toda uma região reservada ao vetor diferente da variável simples e aí eu posso salvar esse vetor aqui ó vários dados distintos beleza essa ideia esse aqui é o nosso vetor e a grosso modo ele fica como a gente tá vendo aqui na figura da direita na memória de fato Ele ficaria Ele ficaria ocupando os 32 bits for posição de memória Então o que está destacado na esquerda agora que eu estou dividindo aqui para vocês em vermelho é o vetor como se livre se
tivesse de fato na memória certinho beleza há mais ou menos assim aqui nós estamos aqui na direita Nós estamos vendo em decimal como ficaria o vetor de memória já um esquema mas visualmente interessante para seres humanos para nós aqui e na esquerda a gente vê cada vez tezinho na verdade do vetor em memória a gente tivesse uma variável simples aqui uma variável-chave por exemplo puxar ele ocupa só há 8 bits então lá no fim lá eu teria um charme simples uma variável chars simples Tá certo olha lá o Chay lá então aqui Imagine que ir
lá na última posição de memória Eu tenho uma letrinha por exemplo a Salvador nesse chave aí então é mais ou menos assim que a coisa funcionaria aqui embaixo Olha só uma variável simples aqui um vetor e aí a gente vai ver que o vetor Olha só deixa eu apagar aqui um pouco para a gente ficar com uma visão um pouco mais limpa mas vamos focar no vetor Portanto o vetor em linguagem C A primeira posição dele portanto vai estar no índice zero a segunda no índice um EA terceira no índice dois Olha só se o
vetor tem três posições os índices vão de 0 até 3 - 1 no caso 2012 três posições então uma coisa importante em vetores e linguagens e é justamente que a primeira posição que está no índice zero a segunda posição no índice 1 e assim sucessivamente Até que a última posição imagina o vetor de tamanho n por exemplo aonde N pode ser qualquer valor inteiro a última posição do vetor está em n - 1 nesse caso aqui cio n = 3n - 1 da dois a última posição está no esse dois beleza isso é muito importante
aqui em vetores em linguagem C legal e pra gente fazer o acesso as posições de um vetor em linguagem C A gente não consegue na verdade acessar todo um vetor de uma vez só em linguagem ser a gente vai precisar acessar a posição a posição Especialmente quando a gente tá falando de vetores inteiros vetores de chá de Charlon leitores de Freud já o vetor deixar talvez a gente consiga através de funções fazer pelo menos a impressão desses vetores ou a leitura desses ver a parte de uma única vez agora quando a gente fala de vetores
de inteiros vetores de flout e assim sucessivamente aí a gente realmente tem que criar esse hábito de entender que é cada posição do vetor vai ter que ser processada dependendo da lógica do programa Então esse acesso a posição olha só ele é feito assim a gente invoca o nome do vetor e entre colchetes a gente diz qualquer um índice da posição do elemento que a gente quer capturar o que a gente quer alterar o seu conteúdo e assim sucessivamente beleza outra coisa importante aqui sobre vetores aqui vai ficar claro nos exemplo já já a gente
vai revisar tudo isso que a gente tá falando nos slides mas a gente tem aqui uma possibilidade legal essa é a única forma que a gente tem na verdade de acessar um vetor todo de uma vez em linguagem C que a lista de inicialização quando a gente declara o vetor a gente pode preencher o conteúdo do vetor de uma vez só só que só no momento da declaração do vetor então teclado aí o vetor eu já posso colocar dados alimento para eu ter certeza de que em cada posição do vetor Eu tenho um dado conhecido
Eu tenho um conteúdo conhecido e não tem que ir lá lixo de memória Beleza então ele é só para eu já declarou vetor inicializar ele com valores através de uma lista de inicialização eu vou chamar pelo Timbu aqui né vou dizer qual que é o tipo do vetor que eu tô criando vou dar o nome provedor que eu tô criando vou dizer qual que é o tamanho desse vetor dentro dos colchetes E aí eu coloco um igualzinho E aí dentro de Chaves Olha só dentro de Chaves eu coloco os valores do que eu quero colocar
nas casas do vetor em ordem crescente ou seja da primeira posição até a última eu vou listando o valor Um, o valor 2,1 valor de três quatro cinco até o valor n o que o tamanho aqui por exemplo é um tamanho igual a n vamos lá vai ficar claro Vamos aos exemplos tá vamos aqui ó primeiro exemplo olha só declaração de um retorno a gente tem que dar o retorno João veio aqui coisa linda né vetor Verde tamanho cinco então se eu dissesse que eu ver ele tem tamanho n nesse caso n = 5 então
para eu fazer o acesso as posições do vetor Olha lá embaixo ó o que eu tô fazendo ó eu acesso a primeira posição com ver índice zero mas a última posição do vetor V índice 4 se o meu vetor tem cinco posições na hora de declarar ele a última posição vai estar no índice = 45 - 1 da 40 a 45 elementos a beleza Olha só na primeira posição coloquei o elemento 50 na segunda posição 40 na terceira o 30 na penúltima posição ou seja na quarta posição o número vinte e na última posição o
número 10 é um vetor de inteiros e aí o que que eu tô fazendo com esse vetor ó eu tô usando ele para calcular a média de seus elementos a média aritmética simples então o que que eu faço como que a gente calcula a média aritmética simples né a gente soma todos os elementos e dividir essa soma pelo número de termos somados Então vamos lá eu já bem só tenho cinco termos ovos termo da posição 1 da posição posição na primeira posição aqui na posição zero na verdade a primeira posição da segunda da terceira da
4ª e da quinta posição todos eles somados e divididos por cinco que é o número de teus Isso aqui vai dar para nós a média e aí a variável e me ela recebe essa média o que mostra esse resultado por usuário no final vamos ver como é que só que vai ficar olha só compilando e executando o resultado aqui é 30 será que é isso mesmo vamos ver aqui nos apropriar da calculadora a ferramenta maravilhosa do nosso vídeos aqui ó deixa eu tomar para vocês aqui ó 50 mas 40 mais 30 mais 20 mais 10
da 150 divididos por cinco Essa é a conta que a máquina fez para nós deu exatamente 30 se a gente vem aqui no programa a gente vê que é isso mesmo beleza legalzinho né agora é isso aqui ó fazer isso aqui não é muito usual você imagina você tem um vetor com 10 já começa a ficar complicado com sem tá ficando quase impossível com mil posições aí vai ficar realmente enviável acessar a posição Zinha a posição uzinha deixando explícito no código Qual é o índice da posição aliás vou mexer na posição zero agora e depois
não dá dois a três a quatro até 999 Já pensou o trabalho então é importante que a gente automatize essa questão aqui do acesso as posições Beleza então se eu quero calcular a média entre os termos de um vetor Talvez eu vá para um próximo exemplo aqui ó que é o nosso segundo exemplo aqui dessa aula e na verdade ele fica mais enxuto pode agora se a gente for por exemplo anterior que tinha 18 linhas de código basicamente aqui já no próximo exemplo não caiu para 13 então a gente já tem a minha de linha
de código aqui só que não vai dar tanta diferença no desempenho do programa mas ele fica mais elegante né o programador que ele tá mais é mais utilizada programadora já tá mais de olho em uma técnica um pouco mais a furada de boas práticas e Clean code ele vai já começar a olhar para isso de forma mais acurada e aí vem aqui quando tu menos linhas de código que você logicamente pode fica mais simples mais fácil de ser entendido Então olha só o que que tá acontecendo aqui nessa nova versão nessa nova versão no código
anterior código anterior Calculava a média entre os elementos do vetor isso aqui também tá fazendo isso A grande diferença Olha que lá nós temos dos 50 ao 10 indo da primeira posição até a última Então tinha na primeira posição 50 na segunda posição 40 e assim sucessivamente até que na última posição eu tinha o 10 no novo exemplo eu fiz ao contrário eu coloquei na primeira e não 10 e na última posição 50 né de ordem na ordem é crescente aqui isso aqui na prática vai dar o mesmo resultado como a gente calcular média só
que na memória distribuição nos elementos vai ficar diferente e olha que eu usei aqui eu usei é a tal da lista de inicialização Então olha só no momento em que eu declaro o vetor olha aqui vou declarando o vetor eu já tô inicializando ele com o igualzinho aqui e aí eu posso usar a lista de inicialização Eu não conseguiria fazer o quê aqui no meio do código aqui por exemplo ó fazer ver recebe sei lá valores quaisquer aqui ó é isso aqui depois da declaração não funciona se o tentar compilar aqui ou compilador já vai
acusam ele vai gritar na minha cara botar na linha zona vermelha aqui falou filha o que que tá fazendo aí isso aqui não pode se eu coloquei na minha 12 não funciona e linguagem ser já a gente vai testar para vocês verem para você ver como Realmente isso aqui dá problema na hora de compilar então não só aqui o nosso vetor de cinco posições já preenchido desde o início eu crio agora uma variável ir para fazer o quê para mim para me ajudar a fazer até esse tipo de comportamento aqui ó olha só aqui na
linha 15 na linha 15 eu tive que colocar o índice de posição por posição do vetor para eu fazer a soma e deu acesso as posições foi feito hardcoded o efeito direto no código eu tive que colocar literalmente Qual é o índice da posição Isso não é legal agora eu vou usar uma e eu ir essa variável ir e agora a gente vai ter que resgatar o quê gente olha aqui na linha 8 as estruturas de repetição né os laços de repetição aqui ó e junto com essa variável vir esse laço de repetição ele vai
fazer com que eu tenho esse mesmíssimo comportamento do exemplo anterior aqui ó voltando aqui no código do exemplo anterior para eu ir de 0 até quatro com a variável ir na nova versão nesse novo código aqui eu faço e começando em zero enquanto informem Nor que cinco eu vou pulando de uma em uma posição isso aqui para mim essa linha de código da linha 8 vai fazer como que eu ir ele tenha esse salto de uma em uma posição começando do zero e indo até o quatro fazendo exatamente a esse papel de acesso aos índices
de cada posição no vetor Então olha que legal ao invés de eu fazer já todo o cálculo da média e da soma para fazer a média numa única linha só que daí em vez de fazer Hide folder eu é uma estrutura de repetição tão que que vai acontecer aqui nesse caso a variável esse que começa em 10 ela recebe o conteúdo dela própria lembra aqui do operador de atribuição com soma então o que que vai acontecer aqui a variável e se vai pegar o conteúdo que ela tinha anteriormente vai somar com o vestor na posição
e e vai atribuir isso à própria variável S então quê que vai acontecer na prática aqui olha só na primeira posição o Iva ali zero quem quer ver índice zero vende-se 0 ao 10 é o 10 Olha só então inicialmente eu tenho o 10 para esse carinha aqui vende-se ir Wesley inicialmente ele vale zero tá então 0 + 10 vai dar 10 então é esse passa a valer 10 num primeiro momento depois que que vai e eu não tenho da estrutura de repetição e o Finn é incrementado tão invalia zero e passa a valer 11
ainda é menor do que 5 eu entro na estrutura de repetição agora vou pegar o s que valia 10 e vou somar com ver índice equivale um ver índice um não é mais vende fizeram agora é ver índice um vende-se um é 20 beleza então essa e valia 10 10 + 20 da 30 Chega no fim da estrutura de repetição e mais mais o impasse a valer 22 ainda é menor que cinco vou para linha 10 na linha 10 eu pego essa equivale a 30 e somos convence Henrique agora vale 30 também vende-se dois é
o 30 também meu 30 mais 30 da 60 essa e passa a valer 60 cheguei no fim da estrutura de repetição e mais mais fui agora passa a valer 33 ainda é claro que sim condição satisfeita vou executar linha 9 eu tinha e dentro de s o número 60 e agora veem disse I ever índice três e Vale 40 os 60 mas 40 me dá a senha sem para dentro DF tô fazendo de cabeça aqui para você e vendo o que que vai acontecer em sempre execução Chega no fim da estrutura de repetição em mais
mais ue que valia agora três passa a valer quatro e aí quatro ainda é menor do que sim beleza o s que tava valendo sem vai ser chamada com ver índice ir ver índice agora é verem disse quatro que vale a 50 sem do s mais 50 do Vence da 150 para dentro de s&s passa a valer 150 tá acabando vamos com calma olha só cheguei no fim da estrutura de repetição e mais mais o equivale a quatro passa a valer 55 já não é mais menor do que 5 a gente se encerra aqui nesse
momento com a estrutura de repetição deixando o código fluir para linha 11 e aqui na linha 12 eu imprimo olha só ó e aqui no percentual F eu substituí supor S / 5 Oeste estava valendo 150 150 / 5 vai dar 30 e aí para o usuário O resultado é 30 na tela vamos ver se é isso mesmo compilando e executando falar o novo exemplo dando o mesmíssimo resultado do exemplo anterior e aí você viu como que coisa deve funcionar aqui nos nossos vetores eu vou fazer uma coisinha para vocês aqui que é uma cozinha
mais visual sobre o que aconteceu nesse código aqui então Olha só o código que nós tínhamos ali ainda declarava um vetor de 5 posições para desenhar que bem bonitinho para vocês então ele tinha a posição de Eles fizeram a posição de índice um dois três e quatro e e olha lá eu tiver um total de 55 posições Ok o nome do nosso vetor ela vê vou deixar que o nome dele aqui ver aí nós temos uma variável uma variável ir deixar eu ir lá no cantinho ui inicialmente ele vai começar 10 mudar de cor desse
aqui nós temos também uma variável soma Na verdade eu chamei simplesmente de s.o.s. vai começar em zelo também e o nosso vetor Vet ali ele tá preenchido da seguinte forma nosso vetor ver na verdade ele tá preenchido com os valores 10 20 30 40 e 50 e aí Olha só visualmente que que tá acontecendo ue está começando ali 10 e o S10 também que que tá sendo que está sendo feito ali olha só o ver índice zero inicialmente ver índice ir vende-se ir é ver índice zero eu tô somando ele com s Então essa equivale
0 + 10 que eu ver esse zero para dentro de é se vai o valor 10 Então é se deixa de valer zero e passa vale 10 feito isso oe é incrementado em uma unidade tão ruim passa a valer é um Beleza então agora a gente está caindo ali na posição ver índice um e eu tô somando isso com s20 mais 10 vai dar para dentro DS o valor 30 então aí o s deixa de valer espaço Alecrim eo e implementado em uma unidade o incrementado de uma unidade passa a valer pois passou a valer
dois a gente foi para a próxima posição do vetor e aí eu somei 30 d'Oeste com 30 de ver índice dois que vai dar para dentro de s60 Então é se deixa de valer 30 e nesse momento o implementado em unidade deixa de valer dois passa a valer 3 beleza e aí a gente foi para a posição ver índice três vem de três Vale 40 mais os 60 do s É ué se faça valer sem um esse deixou ele faleceu centro e ue é implementado em unidade oe passa a valer de três para quatro nesse
momento a gente avançou no vetor e a gente vai somar Portanto o valor de S que é sem com o valor de ver índice quatro que é 50 então para dentro de é se vai o valor 150 ali legal não deixou de valessem e Hoje finalmente a implementado em mais uma unidade ou e passa a valer assim quando o impasse a valer cinco o que acontece cinco já não é mais o menor do que 5 que a condição do nosso for lá então aí a gente já visitou todo o vetor e aí a gente tem
para dentro DS Olha só o valor o valor 150 E aí lá na tela para o usuário o que que aparece para ele lá aparece a mensagem resultado o resultado: = 150 / 5 que vai dar para o usuário lá o resultado 30 na tela beleza visualmente é isso que aconteceria nesse código tudo aqui em linguagem C e é muito comum que a gente esqueça que os índices de um vetor eles vão dizer até n - 1 controle de vetores em tamanho n eu não consigo acessar ou não deveria conseguir e poder acessar a região
de memória que extrapola em menos um vai ficar falar para você olha só a linguagem sem portanto ela é problemática ele sentido ela não limita o programador de invadir memória de acessar uma posição do vetor que não existe na verdade o que acontece Olha só vetor de tamanho 5 posições 0 1 2 3 4 5 posições se eu tentasse vir aqui o e acessar a posição de índice cinco via código-fonte a linguagem C não reclamaria não daria erros Impacto e o pior em tempo de execução talvez até também não apresentasse erro o programa ver talvez
nem percebesse que isso aconteceu agora depois de executar várias vezes esse mesmo programa A Chance de que vai dar problema é muito grande então como que fica isso na prática Olha só indo para o próximo exemplo aqui dessa aula agora que a gente vai fazer e a gente vai brincar com entrada e saída a gente vai fazer o que a gente vai criar um vetor de cinco posições beleza esse vetor de cinco posições ele vai ser navegado através desse fora aqui então for Tem um i no qual ele começa 10 vai até a posição cinco
até um da posição sempre na verdade a posição quatro até então de 0 até e menor do que 5 ou seja até igual a quatro eu peço para o usuário usuário preencher um dado em julgado E aí eu leio esse dado e joga ele na posição e do vetor então agora nós não temos mais um código no qual o vetor já começa a preenchido via hard code não agora eu deixei o usuário escolher os dados que ele quer colocar em cada uma das posições do vetor esse vetor também tem tamanho assim que nesse caso E
aí eu venho aqui e mostro depois o que que o usuário preencheu então de novo eu começo com um novo four de novo começa em 10 vai até a penúltima posição do vetor aqui enquanto o e menor do que sim e aí eu saio imprimindo na tela com print aqui Qual é o elemento que tá em cada a posição desse vetor Beleza então vamos só testar esse código aqui ó compilando e executando alguém serão dadas vou colocar o 10 depois mais um dado 20 depois 30 mais um 40 vetor tem cinco posições Então essa aqui
vai ser a última inserção dentro Olha só dados inseridos justamente 10 20 30 40 50 na mesma ordem em que o inserido em Ah beleza então é assim que a gente faz para preencher um vetor pedindo para o usuário para que ele ensina esses esses dados e aqui em baixo aqui é como a gente mostra um vetor na tela linguagem ser aqui na verdade a gente me mostrou ele em ordem crescente na mãozinha ali na ordem na primeira posição para a última posição do returno agora olha só o retorno Ele tem cinco posições em 5
posições se eu vier nesse laço aqui ó e alterar para sei lá oito hora oito que que vai acontecer o yin quando o ivaler quatro Beleza tô na penúltima posição do vetor eu posso preencher aqui sem problemas vai acontecer que o ih vai ser incrementado em uma posição aqui e ele vai passar a valer cinco se a gente for para os slides lá ó é como se a gente tivesse extrapolando o vetor depois eu ia valer seis depois vida valer 7 que eu voltar a ser é de homens de memória que não foram reservadas ao
meu vetor porque o meu vetor ele vai dar posição zero até posição 45 posições da posição zero até a posição quatro Beleza então olha só isso aqui o problema é que é se eu vier depois de tentar imprimir tudo que o usuário tentou inserir veja eu extrapolei o limite do vetor vamos ver como é que fica na prática ou tentar inserir aqui ó eu acho que os cinco primeiros elétrons primeiros elementos eles vão ser inseridos corretamente Olha só agora ele pediu para encher mais um elemento aqui Teoricamente o programa tem que parar já porque o
meu vetor tem cinco posições mas ele tá tentando tem que seria sexta às sete oitavos Então vamos tentar aqui ó vou colocar o número 99 999 óleo tá deixando vou colocar o sem Vou colocar aqui 80 e olha só o que aconteceu o vetor em memória de fato ele só tem cinco posições mas o 999 de fato foi inserido na sexta posição de alguma forma o programa autorizou o bendito do usuário preencher memória mesmo que tem extrapolado o limite do vetor Olha só o número sem também foi armazenado corretamente agora o 80 aqui não 80
virou 7 esse comportamento que extrapola que é o do 999 em diante esse comportamento é completamente aleatório no meu caso aqui pode ter funcionado se você for testar aí na sua casa a gente pode ter um comportamento completamente diferente você pode ter tentado inserir 999 mas na hora de imprimir ali embaixo né pode ter impresso Sei lá o número totalmente lá fora no lixo de memória valor zero enfim o que aconteceu aqui na verdade ó a gente voltar para os slides aqui o que aconteceu foi isso aqui ó foi que a máquina ela foi programada
para criar de fato um vetor é de cinco posições Como é o que a gente tem até aqui coloridinho bonitinho E aí o programador não se atentando é isso permitiu que o usuário extrapolasse e os limites do vetor então usuário foi lá e preencher o 10 20 30 40 50 E aí o usuário conseguiu colocar ainda o 999 Aqui conseguiu colocar um sem aqui tentou colocar um outro número ali mas no fim das contas ficou valendo a lei um lixo de memória então é perigoso isso em linguagem C é um comportamento que às vezes programadores
não percebem que tá acontecendo um sobre vetores Por enquanto é isso que a gente tinha para conversar essa ter uma aula mais extensa vetores já começa como você vê começa a ser um problema mais complexo ele já é uma estrutura de dados que exige um pouco mais de raciocínio exige por exemplo a combinação com estrutura de repetição então nós vemos aqui tudo o que a gente precisa para trabalhar com vetores é o modo aí vimos Como declarar um vetor com acessar as posições desse vetor como esse vetor fica em memória e também é como navegado
entre esse vetor com estrutura de repetição e ainda fechamos com entrada e saída em vetores beleza na próxima aula no próximo vídeo aí falaremos sobre crimes e são vetores deixar e finalmente a gente consegue aprender um pouco melhor como manipular texto em linguagem C comer vocês vão ver que talvez vocês vão preferir no futuro quando conhecer em outras linguagens trabalhar com o texto nas outras linguagens Talvez seja mais mais gostoso para vocês só que como eu disse você aprende aqui em linguagens e como isso funciona depois para ligar para outras linguagens a coisa fica muito
mais facilitado Então vamos lá vamos forçar um fazer esse exercícios de vetores e a gente se vê no próximo vídeo até mais é E aí [Música]
Copyright © 2024. Made with ♥ in London by YTScribe.com