c语言中有没有办法可以知道一个变量的类型

2024-12-18 16:06:03
推荐回答(2个)
回答1:

不可能坐到这点的,唯一的方法就是譬如说你下位机要给上位机发送nk字节的char类型数据,那么你可以在发送这些数据之前,先发一个用以标识接着发送数据类型的flag(这个flag可以是你自己定义的结构体,或者枚举类型,譬如说 typedef enum{thechar,thenumber,thestruct}TYPE;)这样你先发送一个TYPE类型的内容给上位机,上位机通过这个TYPE的值来判断接着要接收什么数据。
而我之所以说不可能做到直接判断是什么数据类型,是因为你想想看,同样21这个数据,既可以是int,也可以是char,更可以是UINT或者别的,所以怎么可能光凭这个数据本身来判断是什么数据,要是能做到那样的话,那通讯的时候也就不需要“协议”这个概念了。

回答2:

没有,绝对没有