C语言,如何检测变量的数据类型?

(如果可以的话请回答的通俗点,在网上搜索过了,没有能看懂的,所以请不要从网上直接COPY。谢谢)比如定义了int a;如何检测出a是int型的。

  c语言没有检查变量类型的函数,在C语言中定义的变量,只是根据变量类型来分配默认的存储空间大小,而不记录空间中存储的具体的值的类型。比如定义的字符类型可以当整形来用,可以直接在上面加减一个数值。

  数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。
  变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。
  数据类型包括原始类型、多元组、记录单元、代数数据类型、抽象数据类型、参考类型以及函数类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
话说, 你理解错了。。。。

类型的定义其实是为了让人能更好的理解。 对电脑来说, 任何变量只有字节大小的差异。

我给你举个例子, 你就很好理解了:
变量 a 在内存中用二进制表示为:11111111111111111111111111111111 。 如果a 定义为int , 则表示为-1, 如果a定义为unsigned long, 则是4294967295,如果表示为浮点数,则是0.0000.

以上这些,都是从人的角度看这块内存,对计算机来说, 这个值就是二进制的:11111111111111111111111111111111, 从来没变过。 计算机也不需要检测int 这个类型。。。

明白点了么?本回答被网友采纳
第2个回答  2013-08-10
C++有非常简单的解决办法。就是用typeid的成员函数解决。举个例子吧,非常简单。#include "iostream"using namespace std;int main{int a;cout<<typeid(a).name()<<endl;}你运行一下就会发现,屏幕上打印 整形变量 这样的话。手机打字不方便,要把分给我哦……
第3个回答  2013-08-10
刚学这个东西不要太细节,不然会让自己越来越糊涂。
第4个回答  2013-08-10
使用 type(变量名)函数,具体请参考语言帮助。