指针在编译时指向的类型,如typeof

时间:2018-03-30 21:52:31

标签: c gcc clang

有没有办法获取指针指向的数据类型?我对类似的东西很感兴趣。我希望我能用一段代码更好地解释它:

struct_t *pointer1;
struct_t **pointer2;
typeof_ptr(pointer) a;  // here a should be of type struct_t
typeof_ptr(pointer) b;  // here b should also be of type struct_t

1 个答案:

答案 0 :(得分:0)

您可以typeof(*pointer1),但typeof(*pointer2)将是struct_t*而不是struct_t;你需要做typeof(**pointer2)

请注意,typeof()是GCC扩展名。