Programar em C/Vetores: diferenças entre revisões

[revisão pendente][revisão pendente]
Conteúdo apagado Conteúdo adicionado
m <source> -> <syntaxhighlight> (phab:T237267)
Linha 5:
 
Declaramos vetores de maneira muito semelhante à declaração de variáveis normais. A única diferença é que depois do nome da variável deve ser informada '''a quantidade de elementos''' do vetor. Para declarar um vetor chamado <var>vetor</var>, com cinco elementos inteiros, escrevemos:
<sourcesyntaxhighlight lang="C">
int vetor[5];
</syntaxhighlight>
</source>
Note que a quantidade de elementos de um vetor não pode ser alterada depois que o vetor for declarado. Para criar vetores de tamanho dinâmico, podemos usar [[../Ponteiros|ponteiros]], que serão abordados mais adiante.
 
Da mesma maneira que podemos inicializar uma variável junto com sua declaração, podemos usar as chaves (<tt>{}</tt>) para inicializar um array.
<sourcesyntaxhighlight lang="C">
int vetor[5] = {17, 42, 9, 33, 12};
</syntaxhighlight>
</source>
 
Para fazer referência a um valor de um elemento contido em um vetor, usamos a notação <tt>vetor[índice]</tt>, que serve tanto para obter quanto para definir o valor de um elemento específico, dada sua posição. Note que os elementos são numerados a começar do zero, e, portanto, se o número de elementos é <math>N</math>, o índice ou posição do último elemento será <math>N - 1</math>.
 
<sourcesyntaxhighlight lang="C">
vetor[0] = 3;
int x = vetor[2];
int y = vetor[5]; // ERRO!
</syntaxhighlight>
</source>
 
Repare em que a última linha contém um erro: ela referencia um elemento do vetor que não existe. No entanto, o compilador não se recusará a compilar esse código; dará apenas um aviso. Se essa linha for executada, a variável <var>y</var> receberá um valor que não tem nada a ver com o vetor.
Linha 29:
Ao inicializar um vetor com vários valores, pode ser trabalhoso contar todos os valores para colocar o tamanho do vetor na declaração. Por isso, em C podemos omitir o número de elementos quando os valores são inicializados; o tamanho do vetor será o número de valores inicializados. Por exemplo, as duas notações abaixo são equivalentes:
 
<sourcesyntaxhighlight lang="C">
int valores[5] = {1, 2, 3, 4, 5};
int valores[] = {1, 2, 3, 4, 5};
</syntaxhighlight>
</source>
 
===Exemplo de Aplicação de Vetores===
O código abaixo é de um programa que recebe 5 números inteiros e informa qual destes é maior.
 
<sourcesyntaxhighlight lang="C">
#include <stdio.h>
#include <stdlib.h>
Linha 69:
return 0;
}
</syntaxhighlight>
</source>
 
== Vetores multidimensionais (matrizes) ==
Linha 112:
<b>Exemplo da inicialização de um vetor multidimensional usando loops.</b>
 
<sourcesyntaxhighlight lang='c'>
int i,j;
for (i=0; i<=2; i++)
Linha 121:
}
}
</syntaxhighlight>
</source>
 
== Argumentos na função <tt>main</tt> ==
Linha 130:
 
=== Exemplo de uso de parâmetros na função main ===
<sourcesyntaxhighlight lang='C'>
// somaComArgcArgv.c
 
Linha 149:
printf("\nO resultado da soma de %s e %s eh: %d\n", argv[1], argv[2], result);
}
</syntaxhighlight>
</source>
 
{{AutoCat}}