How to check the data type of a variable in C

1 Answer

0 votes
#include <stdio.h>
#include <stdint.h>
 
// C11
 
#define vartype(x) _Generic((x), \
    char: "char", \
    int: "int", \
    double: "double", \
    uint32_t: "uint32_t", \
    default: "unknown" \
)
 
int main()
{
    char v_char = 'a';
    int v_int = 90;
    uint32_t v_uint32_t = 9727133;
    double v_double = 672.903;
     
    printf("v_char is %s\n", vartype(v_char));
    printf("v_int is %s\n", vartype(v_int));
    printf("v_uint32_t is %s\n", vartype(v_uint32_t));
    printf("v_double is %s\n", vartype(v_double));
     
    return 0;
}
 
 
 
/*
run:
 
v_char is char
v_int is int
v_uint32_t is uint32_t
v_double is double
 
*/

 



answered Jul 7, 2024 by avibootz
edited Jul 7, 2024 by avibootz

Related questions

1 answer 249 views
1 answer 152 views
1 answer 130 views
1 answer 119 views
1 answer 138 views
1 answer 156 views
7 answers 449 views
...