欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > c/c >内容正文

c/c

c 输出lpbyte类型-凯发k8官方网

发布时间:2024/10/8 c/c 0 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 c 输出lpbyte类型_变量类型摸不清脉络?用typeid()试试,用一次就上瘾 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

在python中,利用type()函数,可以很方便的判断变量类型。但是在c/c 中,判断变量类型,却不简单…

出于某个奇葩需求,简单研究了一下c/c 如何判断变量类型,整理总结在此,分享给大家,也避免自己以后绕弯。

一、c 判断变量类型

c 中,可以利用typeid()来判断变量类型。

第一步:创建test.cpp文件,输入以下代码:

#include #include using namespace std;int main() {int i;cout << typeid(i).name() << "n";//输出结果为i(表示int),即类型的名称首字母 return 0; }

第二步:利用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文件,并输入以下代码:

#include int main(){int var;char var_char;var = 1;var_char = '1';printf("int类型1占位:%dn",sizeof(var));printf("char类型1占位:%dn",sizeof(var_char));return 0; }

第二步:利用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文件,并输入以下代码:

#include int main(){int var;char var_char;var = 1;var_char = '1';printf("int类型输出:%dn",var);printf("char类型输出ascii码:%dn",var_char);return 0; }

第二步:利用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]#

总结

以上是凯发k8官方网为你收集整理的c 输出lpbyte类型_变量类型摸不清脉络?用typeid()试试,用一次就上瘾的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图