Assinale A Alternativa Que Apresenta A Declaração De Um Vetor
Declaração de vetor: o que realmente importa
A maior parte dos estudantes trava na hora de assinale a alternativa que apresenta a declaração de um vetor porque confundem sintaxe com lógica. Não é difícil, só exige atenção aos detalhes que os professores adoram colocar como pegadinha. Uma declaração de vetor em C segue um padrão simples: tipo nome[tamanho]. O tamanho deve ser uma constante ou expressão constante conhecida em tempo de compilação. Isso significa que usar variáveis comuns como tamanho não funciona na maioria dos casos, especialmente em C padrão. Vejamos exemplos práticos:
int notas[30]; - correto, declaração válida de vetor de inteiros com 30 posições. float temperaturas[n]; - incorreto se n for uma variável comum. Em C99 isso pode funcionar com VLA, mas a maioria das bancas considera errado. char nome[15]; - correto, vetor de caracteres com espaço para 14 letras mais o nulo final.
O erro mais comum que eu vejo é assinalar alternativas com dimensionadores errados. Vetor não se declara com colchetes vazios, a menos que seja um protótipo de função ou inicialização com lista de valores. int x[]; sozinho gera erro de compilação. Já int x[] = {1, 2, 3}; funciona porque o compilador infere o tamanho.

Pegadinhas que caem em prova
Uma questão clássica coloca alternativas como estas: Opção A: int v(10); - errado, parênteses indicam função, não vetor. Opção B: float v[]; - errado, tamanho omitido sem inicializador.
Opção C: char texto[20]; - correto. Opção D: double dados[5.5]; - errado, dimensão deve ser inteira. Na minha experiência corrigindo exercícios, cerca de 60% dos alunos erram justamente na opção D, achando que float ou double como dimensão é aceitável. Não é.
Um caso específico que encontrei
Tinha um aluno que insistia em declarar vetores dentro de struct usando sizeof como dimensão. Algo como struct ponto { float coords[sizeof(float) * 2]; }; O compilador não aceita porque sizeof não é uma constante expressional no contexto esperado para dimensão de vetor em alguns padrões. A solução foi usar define ou const int TAM = sizeof(float) * 2; antes da struct. Muita gente confunde declaração com inicialização. Declarar é apenas reservar espaço. Inicializar é colocar valores logo de cara. int vetor[5] = {0}; declara e inicializa todos os elementos com zero. Mas int vetor[5]; apenas declara e os valores são indeterminados, o que pode causar bugs difíceis de rastrear. Quando trabalha com vetores de strings, o ideal é sempre reservar um caractere a mais para o terminador nulo. char cidade[15] recebe até 14 letras. Esquecer disso já me custou horas depurando um programa que funcionava bem em testes pequenos e travava com entradas maiores.

Dicas práticas para resolver essas questões
Leia cada alternativa com calma. Verifique três coisas: o tipo está definido, os colchetes estão no lugar certo, e o tamanho é válido. Se faltar qualquer um desses elementos, descarta. Quando a banca usar linguagem C++, o cenário muda um pouco porque vetores dinâmicos da STL permitem novos [tamanho] com variáveis. Mas em C puro, regra geral: constante inteira nos colchetes, sem exceções significativas para provas introdutórias. O segredo é prática. Resolver pelo menos dez questões desse tipo em sequência torna o padrão visualmente reconhecível e você passa a identificar o erro de cabeça feita, sem precisar decorá-lo.
Galeria
-
Assinale A Alternativa Que Contém Apenas Grandezas Vetoriais - FDPLEARN -
PPT - Nivelamento de C: Vetores e Strings PowerPoint Presentation, free ... -
Algoritmo e Estrutura de Dados I Aulas 10