c 输出lpbyte类型-尊龙游戏旗舰厅官网
在python中,利用type()函数,可以很方便的判断变量类型。但是在c/c 中,判断变量类型,却不简单…
出于某个奇葩需求,简单研究了一下c/c 如何判断变量类型,整理总结在此,分享给大家,也避免自己以后绕弯。
一、c 判断变量类型
c 中,可以利用typeid()来判断变量类型。
第一步:创建test.cpp文件,输入以下代码:
#include第二步:利用g 编译test.cpp,生成可执行文件(默认为a.out):
[root@程序员的一天 c ]# ls test.cpp [root@程序员的一天 c ]# g test.cpp [root@程序员的一天 c ]# ls a.out test.cpp [root@程序员的一天 c ]#第三步:执行a.out:
[root@程序员的一天 c ]# ./a.out i [root@程序员的一天 c ]#二、c语言判断变量类型
c语言中,没有判断变量类型的函数!
可能因为c语言每种类型占用空间都很明确,大概不需要这样的功能吧。
如果确实需要判断,也有方法可行。方法比较鸡肋
可以简单利用sizeof()或者ascii码辅助判断。
2.1、sizeof()判断
表达式 sizeof()可以得到对象或类型的存储字节大小,但是不同操作系统可能存在差异。
我们来简单测试一下int类型和char类型的1分别占位多少。
第一步:创建test.c文件,并输入以下代码:
第二步:利用gcc编译test.c文件(默认生成a.out文件):
[root@程序员的一天 c]# ls test.c [root@程序员的一天 c]# gcc test.c [root@程序员的一天 c]# ls a.out test.c [root@程序员的一天 c]#第三步:执行a.out:
[root@程序员的一天 c]# ./a.out int类型1占位:4 char类型1占位:1 [root@程序员的一天 c]#可以看到int类型变量占4个字节,char类型变量占1字节,从而判断出是int还是char。
2.2、ascii码判断
利用ascii码,也可以简单判断类型。
比如字符类型1输出ascii码为49,int类型1,则直接输出1。
简单测试如下:
第一步:创建test.c文件,并输入以下代码:
第二步:利用gcc编译test.c文件(默认生成a.out文件):
[root@程序员的一天 c]# ls test.c [root@程序员的一天 c]# gcc test.c [root@程序员的一天 c]# ls a.out test.c [root@程序员的一天 c]#第三步:执行a.out:
[root@程序员的一天 c]# ./a.out int类型输出:1 char类型输出ascii码:49 [root@程序员的一天 c]#总结
以上是尊龙游戏旗舰厅官网为你收集整理的c 输出lpbyte类型_变量类型摸不清脉络?用typeid()试试,用一次就上瘾的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: