Qual é a diferença entre uma constante de string e uma constante de caractere?


Melhor resposta

Constante de string é um conjunto de caracteres entre aspas duplas.

Por exemplo, “hello” . Esta é uma string.

Agora, constante de caractere significa, uma única letra ou caractere, incluindo todos os caracteres alfanuméricos (AZ, az, 0-9) e outros caracteres, como *, #,!, €, $, @, & .. etc, são representados por aspas simples.

Por exemplo, c “, 1”, *, # e assim por diante.

A diferença básica entre string e caractere é essa constante de caractere só pode ser representada como uma entidade única, enquanto a constante de string é uma matriz de caracteres com um caractere nulo no final da string.

Resposta

Constantes referem-se a valores fixos que o programa não pode ser alterado e são chamadas de literais .

As constantes podem ser de qualquer um dos tipos de dados básicos e podem ser divididas em números inteiros, números de ponto flutuante, caracteres, strings e valores booleanos.

Novamente, as constantes são tratadas como variáveis ​​regulares, exceto que seus valores não podem ser modificados após sua definição.

Literais inteiros

Um literal inteiro pode ser uma constante decimal, octal ou hexadecimal. Um prefixo especifica a base ou raiz: 0x ou 0X para hexadecimal, 0 para octal e nada para decimal.

Um literal inteiro também pode ter um sufixo que é uma combinação de U e L, para sem sinal e longo, respectivamente. O sufixo pode ser maiúsculo ou minúsculo e pode estar em qualquer ordem.

Aqui estão alguns exemplos de literais inteiros –

212 // Legal

215u // Legal

0xFeeL // Legal

078 // Illegal: 8 is not an octal digit

032UU // Illegal: cannot repeat a suffix

A seguir estão outros exemplos de vários tipos de literais inteiros –

85 // decimal

0x4b // hexadecimal

30 // int

30u // unsigned int

30l // long

30ul // unsigned long

Literais de ponto flutuante

Um literal de ponto flutuante tem uma parte inteira, um ponto decimal, uma parte fracionária e uma parte expoente. Você pode representar literais de ponto flutuante na forma decimal ou exponencial.

Ao representar usando a forma decimal, você deve incluir a vírgula decimal, o expoente ou ambos e enquanto representa usando a forma exponencial, você deve incluir o parte inteira, a parte fracionária ou ambas. O expoente com sinal é introduzido por e ou E.

Aqui estão alguns exemplos de literais de ponto flutuante –

3.14159 // Legal

314159E-5L // Legal

510E // Illegal: incomplete exponent

210f // Illegal: no decimal or exponent

.e55 // Illegal: missing integer or fraction

Literais booleanos

Existem dois literais booleanos e eles fazem parte das palavras-chave C ++ padrão –

  • Um valor de true representando true .
  • Um valor de falso representando falso.

Você não deve considerar o valor de verdadeiro igual a 1 e o valor de false igual a 0.

Literais de caracteres

Os literais de caracteres são colocados em um único citações. Se o literal começar com L (apenas maiúsculas), é um literal de caractere largo (por exemplo, L “x”) e deve ser armazenado no tipo de variável wchar\_t . Caso contrário, é um literal de caractere estreito (por exemplo, “x”) e pode ser armazenado em uma variável simples do tipo char .

Um literal de caractere pode ser um caractere simples (por exemplo, “x”), uma sequência de escape (por exemplo, “\ t”) ou um caractere universal (por exemplo, “\ u02C0”).

Existem certos caracteres em C ++, quando são precedidos por uma barra invertida, terão um significado especial e são usados ​​para representar como nova linha (\ n) ou tabulação (\ t). Aqui, você tem uma lista de alguns desses códigos de sequência de escape –

Sequência de escape

Significado

\\

\ caractere

personagem

\ “

\ “

” personagem

\?

? personagem

\ a

Alerta ou sino

\ b

Backspace

\ f

Form feed

\ n

Nova linha

\ r

Retorno do carro

\ t

Guia horizontal

\ v

Guia vertical

\ ooo

Número octal de um a três dígitos

\ xhh. . .

Número hexadecimal de um ou mais dígitos

Para obter mais informações, você também pode assistir ao vídeo abaixo.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *