A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

c语言库函数中是否存在一个库函数,传递给它一个变量,返回变量的类型?

2 个回复

倒序浏览
本帖最后由 执着的土豆 于 2014-5-1 21:13 编辑

  帮顶吧。再c++中好像是type_info,在c中我就真不知道了。   
回复 使用道具 举报
本帖最后由 2014571245 于 2014-5-2 10:12 编辑

没有,c语言在计算机底层存储的都是二进制,所以变量在本质上无区别,类型是程序员为便于编程而假想的一个概念,c语言没有存储假想类型的类型信息,所以在运行时是无法获取变量的类型的。
我们在看到的所有关于类型的判断是在便于之前进行的,编译之后是不做任何判断的。
例如:定义了一个char[4]数组,在内存中占4字节,也可以表示int型,例如:
#include<stdio.h>
int main()
{
    char a[4]="abc";
    int * p=(int*)a;
    printf("%x\n",*p);
    return 0;
}
输出结果:636261
转为ascii码为'c','b','a';字符中得'\0'在最前面,printf时,不输出。为什么是反序输出,可以去查下大端机和小端机的介绍。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马