精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

揭秘C語言類型轉換時發生了什么?

開發 前端
在C語言中,數據類型指的是用于聲明不同類型的變量或函數的一個廣泛的系統,我們常用的算術類型包括兩種類型:整數類型和浮點類型。那么相互之間具體是怎么轉化的呢?

了解一下類型轉換

[[436445]]

不同數據類型的存儲大小和值范圍是不一樣的,程序在初始化的時候就已經設定了,例如:

  1. int a = 9; 
  2. float b = 8.5; 

a,b占的字節大小不一樣,這個我們應該都知道,在C語言中一個表達式允許不同類型的數據進行運算,例如:

  1. int a = 9; 
  2. float b = 8.5,c; 
  3. c = a + b; 

因為計算機硬件在進行算術操作時,要求各操作數的類型具有相同的存儲位數以及一樣的存儲方式,所以就出現了類型轉換。

對于某些類型的轉換,編譯器可以隱式地自動進行,這種轉換稱為自動類型轉換;

而有些類型轉換需要程序員顯式指明,那么通常把這種轉換稱為強制類型轉換。

自動類型轉換

自動轉換是在源類型和目標類型兼容以及目標類型廣于源類型時發生一個類型到另一類的轉換。我們先來看一段代碼:

  1. //vs2019 
  2. //來源:技術讓夢想更偉大 
  3. //作者:李肖遙 
  4. #include <stdio.h> 
  5. int main() 
  6.  //定義一個整型指針變量pPoint 
  7.  int* pPoint; 
  8.  
  9.  //定義基本的數據的類型 
  10.  char c; 
  11.  short s; 
  12.  int i; 
  13.  long l; 
  14.  float f; 
  15.  double d; 
  16.  
  17.  //將整型浮點型數據賦值給指針類型 
  18.  pPoint = c; 
  19.  pPoint = s; 
  20.  pPoint = i; 
  21.  pPoint = l; 
  22.  pPoint = f; 
  23.  pPoint = d; 
  24.   
  25.  return 0; 

由于指針變量和整型、浮點這些數據型的類型是不能相互賦值的,編譯報錯輸出:

「揭秘」C語言類型轉換時發生了什么?

那么我們把同類型數據類型進行運算后賦值呢?

  1. //vs2019 
  2. //來源:技術讓夢想更偉大 
  3. //作者:李肖遙 
  4. #include <stdio.h> 
  5. int main() 
  6.  //定義一個整型指針變量pPoint 
  7.  int* pPoint; 
  8.  
  9.  //定義基本的數據的類型 
  10.  char c; 
  11.  short s; 
  12.  int i; 
  13.  long l; 
  14.  float f; 
  15.  double d; 
  16.  
  17.  //將整型浮點型數據運算之后賦值給指針類型 
  18.  pPoint = c + c; 
  19.  pPoint = s + s; 
  20.  pPoint = i + i; 
  21.  pPoint = l + l; 
  22.  pPoint = f + f; 
  23.  pPoint = d + d; 
  24.   
  25.  return 0; 
  • char同類型運算,結果是一個int類型。
  • short同類型運算,結果是一個int類型。
  • int同類型運算,結果是一個int類型。
  • long同類型運算,結果是一個long類型。
  • float同類型運算,結果是一個float類型。
  • double同類型運算,結果是一個double類型。

如下圖所示:

「揭秘」C語言類型轉換時發生了什么?

同類型運算中:

  • 整型:比int小的,都會轉換成int,比int大的不變。
  • 浮點:不變。

那么我們把不同類型數據類型進行運算后賦值呢?

  1. //vs2019 
  2. //來源:技術讓夢想更偉大 
  3. //作者:李肖遙 
  4. #include <stdio.h> 
  5. int main() 
  6.  //定義一個整型指針變量pPoint 
  7.  int* pPoint; 
  8.  
  9.  //定義基本的數據的類型 
  10.  char c; 
  11.  short s; 
  12.  int i; 
  13.  long l; 
  14.  float f; 
  15.  double d; 
  16.  
  17.  //將整型浮點型數據混合運算賦值給指針類型 
  18.  pPoint = c + s;  // char + short = int 
  19.  pPoint = c + i;  // char + int = int 
  20.  pPoint = c + l;  // char + long = int 
  21.  pPoint = c + f;  // char + float = long 
  22.  pPoint = c + d;  // char + double = float 
  23.   
  24.  return 0; 
  • char類型與short類型運算,結果是一個int類型。
  • char類型與int類型運算,結果是一個int類型。
  • char類型與long類型運算,結果是一個long類型。
  • char類型與float類型運算,結果是一個float類型。
  • char類型與double類型運算,結果是一個double類型。

結果如下圖所示:

「揭秘」C語言類型轉換時發生了什么?

可以得出在不同類型運算中:

  • 如果兩邊均比int小或等于int,那么結果為int。
  • 如果兩邊有比int大的,那么結果為比int大的類型。

我們得到結論如圖:

「揭秘」C語言類型轉換時發生了什么?
  • 整型類型級別從低到高依次為:

int -> unsigned int -> long -> unsigned long -> long long -> unsigned long long

  • 浮點型級別從低到高依次為:

float -> double

自動轉換規則:

  • 圖中橫向箭頭表示必須的轉換,如兩個float型數參加運算,雖然它們類型相同,但仍要先轉成double型再進行運算,結果亦為double型。
  • 圖中縱向箭頭表示當運算符兩邊的運算數為不同類型時的轉換,如一個long 型數據與一個int型數據一起運算,需要先將int型數據轉換為long型, 然后兩者再進行運算,結果為long型。
  • 當較高類型的數據轉換為較低類型時,則可能有些數據丟失。
  • 當較低類型的數據轉換為較高類型時,一般只是形式上有所改變, 而不影響數據的實質內容。
  • 所有這些轉換都是由系統自動進行的,使用時你只需從中了解結果的類型即可。

強制類型轉換

強制類型轉換是通過類型轉換運算來實現的。其一般形式為:

(類型說明符) (表達式)

其作用就是把表達式的運算結果強制轉換成類型說明符所表示的類型的值。

  1. //vs2019 
  2. //來源:技術讓夢想更偉大 
  3. //作者:李肖遙 
  4. #include<stdio.h> 
  5. #include<string.h> 
  6.  
  7. int main() 
  8.     float f,x=1.3,y=1.4; 
  9.     int i = 4,a,b; 
  10.     a = x + y; 
  11.     b = (int)(x+y); 
  12.     f = 10/i; 
  13.     printf("a=%d,b=%d,f=%f,x=%f,y=%f\n",a,b,f,x,y); 

運行結果如下:

「揭秘」C語言類型轉換時發生了什么?
「揭秘」C語言類型轉換時發生了什么?

我們從中可以看到,雖然x,y變強制轉換int型,但是最后輸出的值不變,強制類型轉換沒有影響x和y變量原本的類型。而上圖警告已經說明了一切。

注意:在C語言中,對一個變量賦值的時候,這個變量初始定義的類型包含了兩層含義:

  1. 這個數據類型表示的內存空間的大小。
  2. 編譯器把設定的數值放到這個內存空間,是數據類型的存儲方式解析后存進去的。

總結強調一點

進行強制類型轉換后,內存空間里面的內容是不會發生改變的,改變的是運算時的臨時數據對象的類型,是你去讀取這個內存空間時的解析方法。所以,一定要對這個數據類型的內存空間和解析方式有一個清晰的認知。

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2020-08-20 11:50:31

語言類型轉換代碼

2019-11-12 14:41:41

Redis程序員Linux

2021-01-18 08:23:23

內存時底層CPU

2023-03-31 08:12:30

操作系統nanosleep信號

2021-06-30 06:02:38

MySQL SQL 語句數據庫

2025-07-28 06:32:12

Gogo func()

2020-08-17 12:47:07

Mozilla裁員瀏覽器

2019-08-26 09:35:25

命令ping抓包

2010-02-07 09:00:29

AndroidLinux Kerne

2021-04-11 10:40:16

Git軟件開發

2023-08-29 16:26:20

Linux命令行

2015-07-03 09:27:43

網絡閏秒

2022-06-03 08:12:52

InnoDB插入MySQL

2019-09-16 17:16:29

Hadoop數據湖數據結構

2021-12-16 15:58:48

Linux內存微軟

2020-09-01 11:40:01

HTTPJavaTCP

2017-09-06 16:20:51

2022-05-31 13:58:09

MySQL查詢語句

2023-11-02 08:00:00

ClickHouse數據庫

2022-05-26 23:36:36

SQLMySQL數據
點贊
收藏

51CTO技術棧公眾號

亚洲人成网站影音先锋播放| 免费成人av在线播放| 亚洲精美色品网站| 久久久噜噜噜www成人网| 九九在线视频| 美女视频黄久久| 欧美极品少妇xxxxⅹ裸体艺术| 超碰97在线资源站| 欧美综合社区国产| 欧美日韩另类在线| 中文字幕免费在线不卡| 国产自产一区二区| 开心九九激情九九欧美日韩精美视频电影 | 久久精品电影一区二区| youjizz.com日本| 91精品国产66| 黄色成人在线播放| 女女同性女同一区二区三区按摩| 亚洲av成人精品日韩在线播放| 美国十次了思思久久精品导航| 欧美高清视频一区二区| 男人的天堂av网| 久久久久久毛片免费看 | 免费在线黄色网址| 国产成人午夜高潮毛片| 国产精品免费一区豆花| 日韩欧美三级视频| 亚洲天天综合| 在线观看欧美视频| 成人影视免费观看| 高清欧美性猛交xxxx黑人猛| 欧美日韩www| 国产无套粉嫩白浆内谢的出处| 日韩影视在线| 国产精品久久久久毛片软件| 欧美二区三区在线| 三级小视频在线观看| 国产一区二区电影| 国产日韩欧美影视| 国产精品欧美综合| 麻豆91精品| 欧美亚洲另类视频| 久久久久成人片免费观看蜜芽| 日韩成人激情| 在线观看久久久久久| 性高潮久久久久久久| 日韩精品亚洲aⅴ在线影院| 精品久久免费看| 被黑人猛躁10次高潮视频| av在线国产精品| 欧美情侣在线播放| 午夜免费看毛片| 日本精品久久| 欧美一二三四区在线| 精品久久久99| 精品91福利视频| 欧美一级免费观看| 久久久久无码精品| 91久久精品无嫩草影院| 精品免费一区二区三区| 精品久久久久一区二区| 国产成人精品亚洲线观看| 精品国内二区三区| 你懂得在线视频| 亚洲人成网亚洲欧洲无码| 日韩成人在线网站| 国产精品无码永久免费不卡| 亚州国产精品| 中文字幕久久亚洲| 2014亚洲天堂| 国产一区观看| 91成人性视频| 日韩中文字幕高清| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品三级久久久久久电影| 中文字幕一区2区3区| 久久精品国产久精国产爱| 91精品韩国| 欧美亚洲国产一区二区三区 | 欧美一级日韩免费不卡| 佐佐木明希电影| 欧美日韩看看2015永久免费 | 黄在线免费观看| 亚洲人成网站精品片在线观看| 潘金莲一级淫片aaaaaa播放1| 青春草免费在线视频| 欧美性xxxxx极品娇小| 久久九九国产视频| 欧美精品影院| 亚洲韩国日本中文字幕| 无码 人妻 在线 视频| 91精品高清| 777午夜精品福利在线观看| 波多野结衣毛片| 国产精品一区在线| 久久久一本精品99久久精品66| youjizz在线播放| 一区二区久久久久久| 97成人在线观看视频| 日韩毛片免费看| 日韩精品在线观看网站| 可以免费看av的网址| 在线免费观看欧美| 国产自产女人91一区在线观看| 农村少妇久久久久久久| 中文av一区二区| 欧美一级欧美一级| 色综合.com| 国产丝袜一区视频在线观看| 国产精品精品软件男同| 久久av一区| 国产98在线|日韩| 一广人看www在线观看免费视频| 亚洲国产日韩a在线播放| 在线观看亚洲色图| 欧美人与物videos另类xxxxx| 久久五月情影视| 国产精品成人无码| caoporen国产精品视频| 2021狠狠干| 电影一区电影二区| 日韩高清免费在线| 免费在线看黄网址| 精品一区二区三区在线播放视频| 久久久久网址| h片在线观看| 欧美一卡二卡在线| 亚洲人做受高潮| 日韩一区精品字幕| 欧美极品色图| 欧美在线极品| 亚洲国产欧美一区二区丝袜黑人| 免费成年人视频在线观看| 日韩电影在线一区二区| 欧美日韩国产精品一卡| 岛国av在线播放| 亚洲精品在线观看网站| 欧美一区二区三区爽爽爽| 久久99精品久久久久| 新呦u视频一区二区| 日韩欧美另类一区二区| 精品偷拍各种wc美女嘘嘘| 一级aaa毛片| 国产成+人+日韩+欧美+亚洲| 男同互操gay射视频在线看| 国产精品日韩精品在线播放| 中文字幕国产精品久久| 在线观看免费视频一区| 中文在线一区二区| 久久99爱视频| 99热在线成人| 亚洲在线免费看| 天天干在线视频论坛| 日韩久久免费av| 久久久一二三区| 北条麻妃一区二区三区| 久久久亚洲国产精品| 久久97久久97精品免视看秋霞| 久久久久久久久中文字幕| 欧美 日韩 国产 在线| 天天综合网 天天综合色| 污污内射在线观看一区二区少妇 | 亚洲国产欧美日韩另类综合| 美女伦理水蜜桃4| 一本色道久久综合| 欧美一区二区三区电影在线观看| 二吊插入一穴一区二区| 一区二区三区美女xx视频| 中文字幕第一页在线播放| 中文字幕一区二区三区不卡在线 | 97精品人妻一区二区三区| 综合精品久久久| 人妻互换一二三区激情视频| 亚洲第一区色| 欧洲亚洲一区| 国产精品777777在线播放| 欧美福利视频在线观看| 天天躁日日躁狠狠躁伊人| 色哟哟日韩精品| 老司机精品免费视频| 国产成人av电影免费在线观看| 国产 福利 在线| 日韩www.| 国产一区二区三区四区五区在线| 中文字幕一区久| 精品久久久av| 婷婷色在线视频| 欧美影院午夜播放| 国产第一页在线播放| 国产无一区二区| 国产又粗又猛又爽又黄| 久久久久久色| 成人污网站在线观看| 同性恋视频一区| 91精品久久久久久久久久久久久| 国内在线免费视频| 中文字幕国产日韩| 天堂成人在线视频| 欧美美女bb生活片| 日韩欧美三级在线观看| 中文字幕免费在线观看视频一区| 久久黄色一级视频| 欧美aa在线视频| 精品一区二区三区无码视频| 欧美亚洲国产一区| 国产视频一区二区不卡| 日日夜夜综合| 5566成人精品视频免费| av在线free| 中文字幕亚洲二区| 午夜小视频在线播放| 91精品国产高清一区二区三区蜜臀| 国产又黄又猛又粗又爽| 一区二区三区丝袜| www成人啪啪18软件| 91视频xxxx| 中国极品少妇xxxx| 国产精品1区二区.| 国产高潮免费视频| 国产精品美女久久久| 高清无码视频直接看| 日韩欧美精品| 日本一区二区三区www| 精品日产乱码久久久久久仙踪林| 91久久国产精品| 99久久精品一区二区成人| 91精品国产99| 日韩经典av| 久久成人人人人精品欧| 日本在线观看网站| 中文字幕精品视频| 精品无人乱码| 国产婷婷成人久久av免费高清| 亚洲欧美另类日韩| 欧美zozozo| 精品人妻一区二区三区换脸明星 | 欧美又大又粗又长| jizzjizz中国精品麻豆| 欧美国产精品日韩| 羞羞的视频在线观看| 九九热视频这里只有精品| a级影片在线观看| 美女精品视频一区| 怡红院在线观看| 美日韩精品免费视频| 看黄网站在线观看| 久久天天躁日日躁| 亚洲制服国产| 九九九热精品免费视频观看网站| 欧美jizz18性欧美| 久久精品福利视频| 亚洲欧美成人影院| 色综合久久久久久中文网| 人妖欧美1区| 国内揄拍国内精品| 色在线视频观看| 日韩av电影国产| 日韩中文视频| 成人免费直播live| 日韩中文字幕在线一区 | 国产成人黄色| 亚洲国产激情一区二区三区| 三区四区不卡| 永久免费网站视频在线观看| 欧美激情1区2区| 精品少妇人欧美激情在线观看| 国内揄拍国内精品久久| 国产婷婷一区二区三区| 久久久久久网| 伊人网在线综合| 国产iv一区二区三区| 成熟妇人a片免费看网站| 久久品道一品道久久精品| 免费看91的网站| 亚洲视频你懂的| 日本系列第一页| 欧美午夜精品久久久久久浪潮| 色老头在线视频| 91精品国产免费| 亚洲欧美日韩成人在线| 这里只有精品视频| 成人黄色网址| 啪一啪鲁一鲁2019在线视频| 国产麻豆一区| 国产精品免费一区二区三区四区 | 91色porny蝌蚪| 四虎地址8848| 午夜久久久久久电影| 无码人妻熟妇av又粗又大 | 天天干天天草天天射| 国产一区二区美女视频| 69xxx在线| 日本久久久久久| 欧美影院视频| 日韩精品一区二区三区外面| 综合色一区二区| 欧美韩国日本在线| 国产老肥熟一区二区三区| 30一40一50老女人毛片| 成人欧美一区二区三区在线播放| 久久不卡免费视频| 91精品一区二区三区久久久久久| 欧美一区二不卡视频| 中文字幕亚洲字幕| 松下纱荣子在线观看| 亚洲已满18点击进入在线看片 | 一本一道久久久a久久久精品91| 欧美日韩一视频区二区| 亚洲色图 在线视频| aaa亚洲精品一二三区| 国产精品免费在线视频| 欧美性猛xxx| 欧美性受xxxx狂喷水| 久热精品视频在线| 性感美女一区二区在线观看| 国产精品一区二区三区免费观看 | 成人动态视频| 日本久久高清视频| 久久精品久久99精品久久| 草草影院第一页| 亚洲妇熟xx妇色黄| 超碰在线人人干| 久久亚洲一区二区三区四区五区高| 澳门成人av网| 久久精品日产第一区二区三区精品版| 欧美大片专区| 91福利免费观看| 国产精品久久久久久久午夜片| 青青视频在线免费观看| 日韩成人av在线| 波多野结衣在线高清| 91九色在线观看| 在线电影一区二区| 亚洲综合20p| 亚洲四区在线观看| 97精品人妻一区二区三区香蕉 | 久久影院理伦片| 亚洲狼人精品一区二区三区| 午夜免费福利影院| 五月激情综合网| 人妻偷人精品一区二区三区| 欧美美女操人视频| 在线精品自拍| 777av视频| av成人免费在线观看| 日韩久久久久久久久| 亚洲成人精品视频| 操人在线观看| 精品日本一区二区| 奶水喷射视频一区| 久久美女免费视频| 欧美影视一区在线| 日本高清视频在线播放| 91精品久久久久久久| 欧美福利专区| 国产国语老龄妇女a片| 亚洲高清不卡在线观看| 亚州视频一区二区三区| 热久久免费视频精品| 欧美日韩中字| 色婷婷一区二区三区av免费看| 中文字幕在线免费不卡| а√天堂资源在线| 91精品国产高清自在线| 亚洲人成网www| 99热一区二区| 亚洲免费在线视频| 蜜臀av中文字幕| 国产精品电影在线观看| 日韩午夜电影网| 中文字幕一二三| 欧美视频在线免费看| porn视频在线观看| 147欧美人体大胆444| 国产精品呻吟| 精品一区二区在线观看视频| 日韩欧美中文字幕公布| 免费看男女www网站入口在线| 日韩av电影免费播放| 国产一区二区久久| 国产又黄又粗又爽| 久久精品国产亚洲一区二区| www.国产精品一区| 精品日韩久久久| 亚洲一二三专区| yiren22综合网成人| 国产激情美女久久久久久吹潮| 久久综合九色综合欧美狠狠| 999精品在线视频| 日韩精品中文字幕有码专区| 色999韩欧美国产综合俺来也| 无码中文字幕色专区| 国产精品灌醉下药二区| 你懂的网站在线| 国产在线高清精品| 性高湖久久久久久久久| 少妇影院在线观看| 亚洲少妇激情视频| 福利片一区二区| 三级黄色片免费观看|