Could I retrieve the datatype from a variable in C?

后端 未结 5 1828
灰色年华
灰色年华 2020-12-11 05:42

Has a way to get the datatype in C?

For example:

int foo;

if (foo is int)
{
    // do something
}

or something like:

if (typeof(foo         


        
5条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-11 06:24

    The fact that foo is an int is bound to the name foo. It can never change. So how would such a test be meaningful? The only case it could be useful at all is in macros, where foo could expand to different-type variables or expressions. In that case, you could look at some of my past questions related to the topic:

    Type-generic programming with macros: tricks to determine type?

    Determining presence of prototype with correct return type

提交回复
热议问题