← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Assinale o modo correto para a atribuição de uma string na linguagem C.

Gabarito: A

Em C, string nao e um tipo pronto como acontece em algumas linguagens modernas. O que voce faz, na pratica, e criar um vetor de caracteres, ou seja, um array de char, e inicializa-lo com o texto entre aspas. Por isso a forma char xxx[] = "Exemplo de string"; esta correta: o compilador guarda a sequencia de caracteres e ainda adiciona o caractere nulo '\0' no final, que marca o termino da string. Essa ideia e bem classica da linguagem C: strings sao tratadas como vetores de char. Entao, quando voce ve "string" em C, desconfie, porque isso nao e uma declaracao padrao da linguagem. O padrao da linguagem C (ISO C, por exemplo C17/C18) trabalha com arrays de caracteres e ponteiros para char, nao com um tipo nativo chamado string. Na alternativa correta, os colchetes vazios indicam que o tamanho do vetor sera definido pela propria inicializacao. O compilador conta os caracteres do texto e reserva espaco para todos eles mais o '\0'. Simples e elegante, do jeitinho que cai em prova para ver quem conhece a base. Resumindo: em C, string e um uso convencional de um vetor de char, nao um tipo especial. Se voce lembrar disso, ja mata a questao sem sofrimento.

Continue treinando

Questões relacionadas