Ir ao conteúdo

C Verificar se variável é unsigned


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Como posso verificar se uma variável é unsigned depois de passar o endereço dela pra uma função?

A variável não estaria inicializada nem nada.

Eu achei na internet algo assim:

#define IS_UNSIGNED(type) ((type)~1 > 0)

Mas só serve pra tipos de dado, e não pra variáveis.

  • Amei 1
  • Solução
Postado

@Luccas Fernando    creio Que vai funciOnar Sim , e se você estiver usar um compilador desse século ,  como o visual studio comunity 2019 , com certeza funciona , e também você pode ver os tipos de todas as variáveis , como nesse programa , postado por    @ArfNeto :

#include <iostream>
#include <typeinfo>

using namespace std;

int f(int);

int main()
{
    unsigned int aer = 874;
    int i = 0, num{};
    double d{};
    char c{};
    long l;
    string str{};
    struct tst { };
    class uma_classe { };


    cout << "unsigned int > a variavel aer  eh do Tipo " << typeid(aer).name() << endl;
    cout << "int ----> a variavel i         eh do Tipo "<< typeid( i        ).name()<< endl;
    cout << "double -> a variavel d         eh do Tipo "<< typeid( d        ).name()<< endl;
    cout << "char ---> a variavel c         eh do Tipo "<< typeid( c        ).name()<< endl;
    cout << "char ---> a variavel l         eh do Tipo "<< typeid( l        ).name()<< endl;
    cout << "struct -> a struct             eh do Tipo "<< typeid( tst      ).name()<< endl;
    cout << "string -> a variavel str       eh do Tipo "<< typeid( str      ).name()<< endl;
    cout << "classe -> a classe uma_classe  eh do Tipo "<< typeid(uma_classe).name()<< endl;
    cout << "funcao -> a variavel f         eh do Tipo "<< typeid( f        ).name()<< endl;
    /*
    pair<int, double> valor{ 1,2.340f };
    auto [a, b] = valor;
    cout << "tipo de a = " << typeid(a).name() << endl;
    cout <<" valor = "     << a                << endl;
    cout << "tipo de b = " << typeid(b).name() << endl;
    cout <<" valor = "     << b                << endl;
    */

    cout << "insira um número ";
    cin >> num;
    return 0;
}

int f(int v)
{
    return 8;
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!