Na Linguagem de programação C, uma matriz bidimensional é a...
Considere uma matriz bidimensional declarada como float matriz[M][N];. De acordo com os padrões da linguagem C e as regras de precedência de operadores, assinale a alternativa que apresenta a expressão, em aritmética de ponteiros, que resulta corretamente no valor armazenado na linha i e na coluna j.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: D
Fundamento decisivo: A decisão dependia de identificar a única alternativa que reproduz a dupla desreferência equivalente a matriz[i][j] em float matriz[M][N].
- Para matriz bidimensional em C, traduza primeiro o acesso por índices na forma padrão: matriz[i][j] = *(*(matriz + i) + j).
- Separe os níveis: matriz + i localiza a linha; só depois de desreferenciar a linha é que j deve ser aplicado ao elemento.
- Se a expressão ainda termina em ponteiro ou endereço, falta a desreferência final para obter o valor armazenado.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Matriz [M][N]
Matriz = vetor de M linhas
Matriz[i] = linha i
Matriz[i][j] = elemento j da linha i
Matriz[i] = *(matriz+i)
Matriz [i][j] = *(matriz+i)[j]
Matriz [i][j] = *(*(matriz+i)+j)
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo