日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++输出lpbyte类型_变量类型摸不清脉络?用typeid()试试,用一次就上瘾

發布時間:2024/10/8 c/c++ 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++输出lpbyte类型_变量类型摸不清脉络?用typeid()试试,用一次就上瘾 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在python中,利用type()函數,可以很方便的判斷變量類型。但是在c/c++中,判斷變量類型,卻不簡單…

出于某個奇葩需求,簡單研究了一下c/c++如何判斷變量類型,整理總結在此,分享給大家,也避免自己以后繞彎。

一、c++判斷變量類型

c++中,可以利用typeid()來判斷變量類型。

第一步:創建test.cpp文件,輸入以下代碼:

#include<typeinfo> #include<iostream> 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<stdio.h> 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<stdio.h> 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]#

總結

以上是生活随笔為你收集整理的c++输出lpbyte类型_变量类型摸不清脉络?用typeid()试试,用一次就上瘾的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。