色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 關于C語言的隱式類型轉換

關于C語言的隱式類型轉換 時間:2018-09-26      來源:未知

同種數據類型的變量在進行運算的時候,我們都知道怎么去運算

比如int a = 5, b = 10;

那么a+b的結果也是int類型的;

如果是不同的數據類型的變量在進行混合運算的時候,就需要將其轉換成同種數據類型,然后再進行運算

比如:int = 5;

float b = 10.5;

a+b的結果是多少呢?

這就牽扯到了我們所說的隱式類型轉換啦,我們先來看一副圖:

從上圖中,我們可以看到,float類型轉換成了double類型的,int類型也要轉換成double的,然后才可以進行運算,也就是說a+b的結果就是15.5啦

我們來驗證一下:

我們看到代碼運行的結果a+b的結果為浮點數,大家可以試一下,14行代碼如果改成%d的話,編譯時就會有類型不匹配的警告,所以int類型與float類型在進行混合運算的時候,都轉換成了double類型。

再繼續回到圖2-3,我們可以看到圖中有兩個方向的箭頭,都分別表示什么意思呢?

同樣我們舉例說明,先來看豎向箭頭:

我們可以看到a+b的結果是大于0的,那么也就是說int類型與unsigned int類型在進行混合運算的時候,先轉換為unsigned int類型,然后再進行運算。

同樣,我們再來看一個橫向箭頭的例子:

可以發現,sizeof(a+b)的結果為4,如果a+b還是char類型的話,結果應該是1,我們結合圖2-3,也就是說char類型在進行運算的時候,勢必要向int類型轉換,不管有沒有進行混合運算。

再來看一個例子:

打印的結果為a + b <= 0,結合圖2-3,我們可以推斷出char類型與unsigned char在進行運算時,都轉換成了int類型,同樣,如果將char改成short,unsigned char改成unsigned short,結果也是a + b <= 0,那就說明了short與unsigned short在進行運算時,也都轉換成了int。

所以:我們可以總結出,豎向箭頭表示不同的數據類型在進行混合運算的時候,會有一個低字節向高字節轉換的過程,橫向箭頭表示不管該類型有沒有進行混合運算都勢必會進行轉換,再進行運算,但是需要注意:比如int類型與double類型進行運算,不是int->unsigned->long->double這么一個過程,而是int類型會直接轉換成double類型。

后,再強調一點,我們說int與double類型運算時,int會轉換成double,如下圖:

我們可以看出,在編譯時,出現了警告,說明實際上a的類型實質上并沒有轉換成double類型的,而只是在運算的過程中發生了轉換。

上一篇:Android異步加載AsyncTask的使用

下一篇:談談socket 套接字

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 久久资源免费视频| 91精品啪aⅴ在线观看国产| 粗暴蹂躏中文一区二区三区| 中文字幕亚洲一区| 中文字幕欧美视频在线| 中文字幕九色91在线| 自拍偷拍亚洲区| 日韩在线观看av| 在线成人中文字幕| 日韩视频免费看| 欧美日韩国产成人高清视频| 欧美日韩在线第一页| 国内成人精品一区| 91产国在线观看动作片喷水| 国产成人亚洲精品| 亚洲一区二区在线| 永久555www成人免费| 久久久99免费视频| 大胆欧美人体视频| 日韩av电影手机在线| 91亚洲人电影| 色777狠狠综合秋免鲁丝| 日韩欧美福利视频| 国产精品jizz在线观看麻豆| 国产精品视频精品视频| 精品一区电影国产| 欧美日韩免费在线观看| 欧美一区二区三区免费视| 国产日韩欧美一二三区| 亚洲精品天天看| 黄色成人av网| 国产精品久久久久久一区二区| 亚洲美女视频网站| 精品欧美aⅴ在线网站| 国产成人精品电影| 亚洲精品动漫久久久久| 久久中文字幕一区| 成人春色激情网| 中文字幕一区二区精品| 国产精品一区二区久久国产| 亚洲最大福利视频网|