有没有办法获取指针指向的数据类型?我对类似的东西很感兴趣。我希望我能用一段代码更好地解释它:
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
答案 0 :(得分:0)
您可以typeof(*pointer1)
,但typeof(*pointer2)
将是struct_t*
而不是struct_t
;你需要做typeof(**pointer2)
。
请注意,typeof()
是GCC扩展名。