Manual da Linguagem GNU C
Doar para o tradutorDoar para os autores
  • Linguagem GNU C
  • Prefácio
  • 1️1. O Primeiro Exemplo
    • Fibonacci Recursiva
      • Cabeçalho da Função
      • Corpo da Função
    • Pilha e Estouro de Pilha
    • Fibonacci Iterativa
  • 📦2. Um Programa Completo
    • Exemplo de um Programa Completo
    • Explicação do Programa Completo
    • Programa Completo Linha por Linha
    • Compilando o Programa de Exemplo
  • 👜3. Armazenamento e Dados
  • 🥑4. Além dos Inteiros
    • Um Exemplo com Números Não Inteiros
    • Um Exemplo com Arrays
    • Variações para o Exemplo com Array
  • ✍️5. Sintaxe Lexical
    • Escreva Programas em Inglês!
    • Caracteres
    • Espaços em Branco
    • Comentários
    • Identificadores
    • Operadores e Pontuação
    • Continuação de Linha
  • ➕6. Aritmética
    • Aritmética Básica
    • Aritmética de Inteiros
    • Estouro de Inteiros
      • Estouro de Inteiros sem Sinal
      • Estouro de Inteiros com Sinal
    • Aritmética em Modo Misto
    • Divisão e Resto
    • Comparações Numéricas
    • Operações de Deslocamento
      • Deslocar Gera Novos Bits
      • Advertências em Operações de Deslocamento
      • Hacks com Deslocamento
    • Operações Bit-a-bit
  • 🟰7. Expressões de Atribuição
    • Atribuição Simples
    • Lvalues
    • Atribuição Modificadora
    • Operadores de Incremento e Decremento
    • Pós-incremento e Pós-decremento
    • Armadilha: Atribuição em Subexpressões
    • Escreva Atribuições em Instruções Separadas
  • 🕹️8. Expressões de Controle de Execução
    • Operadores Lógicos
    • Operadores Lógicos e Comparações
    • Operadores Lógicos e Atribuições
    • Expressão Condicional
    • Operador Vírgula
  • 🐫9. Gramática dos Operadores Binários
  • 🏁10. Ordem de Execução
    • Reordenação de Operandos
    • Associatividade e Ordenação
    • Pontos de Sequência
    • Pós-incremento e Ordenação
    • Ordenação de Operandos
    • Otimização e Ordenação
  • 🎲11. Tipos Primitivos
    • Tipos de Dados Inteiros
      • Inteiros Básicos
      • Tipos Com ou Sem Sinal
      • Inteiros Estreitos
      • Conversão entre Tipos Inteiros
      • Tipo Booleano
      • Variações de Inteiros
    • Tipos de Dados de Ponto Flutuante
    • Tipos de Dados Complexos
    • O Tipo Void
    • Outros Tipos de Dados
    • Designadores de Tipos
  • 🪨12. Constantes
    • Constantes do Tipo Inteiro
    • Tipos de Dados de Constantes do Tipo Inteiro
    • Constantes de Ponto Flutuante
    • Constantes de Números Imaginários
    • Constantes de Caracteres
    • Constantes do Tipo String
    • Constantes do Tipo String UTF-8
    • Códigos de Caracteres Unicode
    • Constantes do Tipo Caractere Largo
    • Constantes do Tipo String Larga
  • 📐13. Tamanho de Tipo
  • Apêndices
    • F - GNU Free Documentation License
    • G - GNU General Public License
Fornecido por GitBook
Nesta página

Isto foi útil?

Editar no GitHub
Exportar como PDF
  1. 12. Constantes

Constantes do Tipo String Larga

Uma constante do tipo string larga (wide string) representa um array de caracteres de 16 bits ou 32 bits. Elas são raramente usadas; se você está apenas aprendendo C, pode ignorar esta seção.

Existem três tipos de constantes do tipo string larga, que diferem no tipo de dado usado para cada caractere na string. Cada constante desse tipo é equivalente a um array de números inteiros, mas o tipo desses inteiros depende do tipo específico da constante. Quando utilizada em uma expressão, a constante será convertida em um ponteiro para o primeiro elemento do array, como ocorre normalmente com arrays em C (veja ). Para cada tipo de constante do tipo string larga, indicamos aqui o tipo desse ponteiro.

char16_t Este é um tipo de constante do tipo string Unicode de 16 bits: cada elemento é um código de caractere Unicode de 16 bits com o tipo char16_t, de forma que a string possui o tipo de ponteiro char16_t *. (Este é um designador de tipo; veja .) A constante é escrita como ‘u’ (em letra minúscula) seguida (sem espaço intermediário) de uma constante do tipo string com a sintaxe usual.

char32_t Este é um tipo de constante do tipo string Unicode de 32 bits: cada elemento é um código de caractere Unicode de 32 bits, e a string possui o tipo char32_t *. A constante é escrita como ‘U’ (em letra maiúscula) seguida (sem espaço intermediário) de uma constante do tipo string com a sintaxe usual.

wchar_t Este é o tipo original de constante do tipo string larga. A constante é escrita como ‘L’ (em letra maiúscula) seguida (sem espaço intermediário) de uma constante do tipo string com a sintaxe usual, e a string possui o tipo wchar_t *.

A largura do tipo de dado wchar_t depende da plataforma de destino, o que torna esse tipo de string larga um pouco menos útil em comparação com os tipos mais novos.

No Windows, por padrão, as funções da API que operam com strings requerem strings largas. Por exemplo:

MessageBox(NULL, L"Olá", L"Mundo", MB_OK) .

Os tipos char16_t e char32_t são declarados no cabeçalho uchar.h. O tipo wchar_t é declarado no cabeçalho stddef.h.

Constantes consecutivas do tipo string larga do mesmo tipo se concatenam, assim como constantes do tipo string comuns. Uma constante do tipo string larga concatenada com uma constante do tipo string comum resulta em uma constante do tipo string larga. No entanto, não é possível concatenar duas constantes do tipo string larga de tipos diferentes. Além disso, não é possível concatenar uma constante do tipo string larga (de qualquer tipo) com uma constante do tipo string UTF-8.

AnteriorConstantes do Tipo Caractere LargoPróximo13. Tamanho de Tipo

Atualizado há 3 meses

Isto foi útil?

🪨