Partilhar via


Type-Cast Conversões

Você pode usar moldes de texto para converter tipos explicitamente.

Sintaxe

cast-expression:
unary-expression
( type-name ) cast-expression

type-name:
specifier-qualifier-list abstract-declarator optar por

O type-name é um tipo e cast-expression é um valor a ser convertido para esse tipo. Uma expressão com um tipo cast não é um valor l. O cast-expression é convertido como se tivesse sido atribuído a uma variável do tipo type-name. As regras de conversão para atribuições (descritas em Conversões de atribuição) também se aplicam a versões de tipo. A tabela a seguir mostra os tipos que podem ser convertidos para qualquer tipo.

Tipos de destino Fontes potenciais
Tipos integrais Qualquer tipo de inteiro ou tipo de ponto flutuante ou ponteiro para um objeto
Ponto flutuante Qualquer tipo aritmético
Um ponteiro para um objeto ou void * Qualquer tipo de inteiro, void *, um ponteiro para um objeto ou um ponteiro de função
Ponteiro de função Qualquer tipo integral, um ponteiro para um objeto ou um ponteiro de função
Uma estrutura, união ou matriz Nenhum
Tipo de vazio Qualquer tipo

Qualquer identificador pode ser convertido para void digitar. No entanto, se o tipo especificado em uma expressão de conversão de tipo não voidfor , o identificador que está sendo convertido para esse tipo não poderá ser uma void expressão. Qualquer expressão pode ser convertida em void, mas uma expressão de tipo void não pode ser convertida em nenhum outro tipo. Por exemplo, uma função com void tipo de retorno não pode ter seu retorno convertido para outro tipo.

Uma void * expressão tem um ponteiro de tipo para , não para voido tipo void. Se um objeto for convertido para void digitar, a expressão resultante não poderá ser atribuída a nenhum item. Da mesma forma, um objeto type-cast não é um valor l aceitável, portanto, nenhuma atribuição pode ser feita a um objeto type-cast.

Específico da Microsoft

Uma conversão de tipo pode ser uma expressão de valor l, desde que o tamanho do identificador não seja alterado. Para obter informações sobre expressões de valor l, consulte Expressões de valor L e valor R.

END Específico da Microsoft

Você pode converter uma expressão para digitar void com uma conversão, mas a expressão resultante pode ser usada somente quando um valor não é necessário. Um ponteiro de objeto convertido para void * e de volta para o tipo original retornará ao seu valor original.

Ver também

Conversões de tipo