Vector em C Um vector pode conter elementos de qualquer tipo de dados. No entanto, os elementos de um vector são todos do mesmo tipo, o qual é defenido na declaração do mesmo. Ex: Declaração de um vector Int vect [20]; Vect é um vector de 20 elementos inteiros Vector em C Em C os indices d um vector com n elementos variam sempre entre 0 e n-1. Ex: Int vector [5]; 3 5 6 2 4 Vector [0] Vector [1] Vector [2] Vector [3] Vector [4] Vector em C – Inicialização automática Em C podemos declarar um vector com n elementos e fazer logo a sua inicialização. Se um vector for declarado com n elementos e forem colocados apena k valores (k<n), então os primeiros elementos do vector serão inicializados com os respectivos valores e os restantes com o valor 0. Ex: Int vector [4] = {10,20,30.40}; 10 20 30 40 Vector em C – Inicialização automática Ex: Int vector [8] = {10,20,30.40}; 10 20 30 40 Ex: Int vector [ ] = {10,20,30.40}; Ex: Int vector [ ]; 0 0 0 0 Vector com 4 elementos, inicializado com os valores 10, 20, 30 e 4 Declaração incorrecta. Provoca erro de compilação. Exemplo de uso de um vector #include <stdio.h> #include <conio.h> main () { float sal [13]; float total; int i; for (i=1; i<=12; i++) { printf (“introduza o salario do mês de %d”,i); scanf(“%f”,&sal[i]); } puts (“Mes\tValor”); for (i=1, total = 0.0; i<=12; i++) { printf (“%d\t %.2f \n”,i, sal[i]); total = total+sal[i]; } printf(“Total Anual : %9.2f \n”, total); getch(); } Passagem de vectores para funções void inic (int s [10]) { int i; for (i=0; i < 10; i++) s[i]=0; } main () { int v[10]; inic (v); } Passagem de vectores para funções Em C dentro de um vector não é possível sabermos qual a dimensaõ de um vector. Para isso o programador deverá enviar a dimensão do vector, como passagem por valor. #include <stdio.h> void inic (int s[], int x) { int i; for (i = 0; i<x; i ++) s[i]=0; } void mostrar (int s[], int x) { int i; for (i = 0; i<x; i ++) printf ("V [ %d ] = %d\n",i, s[i]); } main () { int v[10]; int n; puts ("Qual a dimensão do array"); scanf("%d", &n); inic (v,n); mostrar(v,n); }