💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
本节内容源码在:~/workspace/basics/c/3\_2\_variables/main\_2.c中,主要讲解C语言中的动态类型变量定义的方法,需要使用到的关键字是:typeof(),该关键字是GNU C提供的一种特性,可以用来取得变量/函数的类型,或者表达式的类型。常用的方式如下: ![](https://img.kancloud.cn/7d/e2/7de241dc0c759283fa968fbb11372e5b_832x600.png =600x) ### ### **1.取得变量类型** 定义一个变量,可以是普通变量也可以是指针变量,然后typeof取得该变量类型并用于定义另外同类型的变量;比如图中所示的value。 ### **2.取得函数类型做函数指针** 主要用来取得函数的类型,并定义函数指针使用,图中所示的指针func就是取着函数add类型定义的。 ### **3.取得表达式类型做处理** 取得表达式相对较为复杂,图中所示,我们将函数add的运算结果导出来用于判断;该技巧同样可以用于函数调用失败后的多次重试。 编译运行如下: ![](https://img.kancloud.cn/4c/a3/4ca37e133ed93ccdfb1425808df2198a_832x298.png =600x)