精品欧美一区二区三区在线观看 _久久久久国色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一区二区| 欧美美乳视频| 亚洲综合视频在线| 在线午夜精品自拍| 国产av天堂无码一区二区三区| 国产成人av免费| 91精品啪在线观看国产爱臀| 中文字幕欧美三区| 欧美精品久久久久久久| 亚洲妇熟xx妇色黄蜜桃| 国产福利在线视频| 久久悠悠精品综合网| 中文字幕在线不卡| 国产精品成人一区二区| 亚洲成人av免费在线观看| av免费在线观看网站| 捆绑紧缚一区二区三区视频| 国产亚洲人成a一在线v站| 中文字幕精品一区日韩| 中文字幕第99页| 欧美一区二区三区激情视频| 日本高清不卡视频| 欧美成人综合一区| 国产成人一级片| 亚洲男人都懂第一日本| 色综合久久66| 久久伦理网站| 久久永久免费视频| 精品日韩欧美一区| 欧美日本在线播放| 黄黄视频在线观看| 国产人妖一区二区三区| 91tv官网精品成人亚洲| 欧美一级专区免费大片| 日本丰满少妇黄大片在线观看| 国产手机精品视频| 老司机精品导航| 在线观看日韩欧美| 国产九九九视频| 高清电影在线免费观看| 成人黄页在线观看| 8x海外华人永久免费日韩内陆视频| 无码精品一区二区三区在线播放 | 国产精品久久久久久影视 | а√天堂资源在线| 亚洲手机视频| 国产婷婷色综合av蜜臀av| 成年人在线观看视频免费| 国产高清免费av在线| 久久综合一区二区| 国产精品美女久久久久久免费 | 亚洲精品一二| 亚洲人成电影在线| 小明看看成人免费视频| 青青青国内视频在线观看软件| 不卡av在线免费观看| 亚洲a中文字幕| 一区二区欧美久久| 国产91av视频在线观看| 亚洲天堂视频在线播放| 久久国产精品亚洲77777| 亚洲天堂视频在线观看| 最近中文字幕免费视频| 国产日本亚洲| 日韩欧美主播在线| 亚洲精品成人三区| 韩国av在线免费观看| 国产激情视频一区二区三区欧美 | 另类专区欧美蜜桃臀第一页| 国产欧美va欧美va香蕉在| 欧美三根一起进三p| 91成人在线| 亚洲国产精品久久艾草纯爱| 日韩色妇久久av| 黄色av中文字幕| 99久久久国产精品免费蜜臀| 成人在线一区二区| 69国产精品视频免费观看| 欧美日韩hd| 色妞在线综合亚洲欧美| 国产乱了高清露脸对白| 蜜臀91精品国产高清在线观看| 国产亚洲欧美视频| 欧美国产日韩在线观看成人| japanese国产精品| 精品国产一区二区在线| 免费欧美一级片| 久久天堂av| 精品久久中文字幕| 91黄色在线看| 日本高清在线观看wwwww色| 91丝袜国产在线播放| 91麻豆精品秘密入口| 91午夜交换视频| 全部av―极品视觉盛宴亚洲| 啪一啪鲁一鲁2019在线视频| 久久精品这里有| 亚洲欧美日韩高清在线| 影音先锋日韩有码| 欧美三根一起进三p| 久久久夜夜夜| 999视频在线观看| 国产有码在线观看| 99re这里只有精品首页| 国产精品国产一区二区| www.亚洲欧美| 久久久精品黄色| 欧美日韩精品久久| 邻家有女韩剧在线观看国语| 欧美大奶一区二区| 久久久久久久久久久妇女| 久久香蕉国产线看观看av| 免费看日本黄色片| 最新亚洲精品| 欧美人在线视频| 久久午夜鲁丝片午夜精品| 好吊日精品视频| 国产精品成人播放| 色婷婷av一区二区三区之e本道| 成人夜色视频网站在线观看| 国产高清在线精品一区二区三区| 亚洲成人黄色片| 中文字幕成人在线观看| 欧美国产亚洲一区| 亚洲一级少妇| 91成人免费电影| 黑森林精品导航| 麻豆一区二区麻豆免费观看| 欧美另类第一页| 国产又粗又猛又黄| 国产美女精品在线| 99re热精品| 黄色一级片在线观看| 自拍视频在线观看一区二区| 黄色一级片黄色| 春色校园综合激情亚洲| 色婷婷综合久久久中文一区二区| 特黄特色免费视频| 香蕉久久夜色精品国产使用方法 | 国产精品美乳在线观看| 天堂v视频永久在线播放| 91在线你懂得| 欧美亚洲黄色片| 午夜精品在线| 亚洲色图13p| 你懂的国产在线| 95精品视频在线| 精品国产一区三区| 理论片一区二区在线| 国精产品一区一区三区有限在线| 麻豆精品传媒视频| 女性裸体视频网站| 一本一道久久综合狠狠老| 国产精品亚洲第一区| 91伦理视频在线观看| 亚洲在线中文字幕| 亚洲av午夜精品一区二区三区| 欧美成人一品| 国产不卡精品视男人的天堂 | 欧美高清性hdvideosex| 91精品又粗又猛又爽| 欧美少妇性xxxx| 国产精品久久久久av免费| av每日在线更新| 91麻豆精品国产91久久久| a级在线观看视频| 91久久夜色精品国产按摩| 久久久亚洲精品视频| 欧美 日韩 中文字幕| 亚洲欧美综合网| 久久无码人妻一区二区三区| 亚洲视频日本| 欧美综合77777色婷婷| 成人女同在线观看| 亚洲国产日韩欧美在线图片| 国产免费久久久久| 天堂在线亚洲视频| 亚洲午夜精品一区二区| 黑人巨大亚洲一区二区久| 精品久久久久久久久久久久包黑料| 一级特黄曰皮片视频| 麻豆精品久久精品色综合| japanese在线播放| 亚洲精品推荐| 91理论片午午论夜理片久久| gogo高清午夜人体在线| 91精品国产免费久久综合| 久久久久无码国产精品| 久久久午夜精品理论片中文字幕| 中文字幕66页| 亚洲欧美春色| 精品综合久久久| 黑人玩欧美人三根一起进| 亚洲欧美视频在线| 国产a∨精品一区二区三区仙踪林| 国产美女视频91| 中国丰满人妻videoshd| 久久久免费毛片| 国产精品国产亚洲伊人久久| 污污网站在线看| 日韩美女一区二区三区四区| 成人黄色短视频| 成人av在线一区二区三区| 一区二区三区视频网| 不卡视频在线| 国产精品swag| 日本电影久久久| 中文字幕亚洲欧美日韩高清| 亚洲av无码乱码国产麻豆| 91黄色激情网站| 国产无码精品视频| 亚洲丝袜精品丝袜在线| 日本r级电影在线观看| 久久不射网站| 日韩黄色片在线| 三级电影一区| 亚洲伊人久久大香线蕉av| 外国成人直播| 中文字幕在线国产精品| 亚洲人成色777777精品音频| 日韩一区二区三免费高清| 欧美成人综合色| 国产精品网站在线观看| 在线 丝袜 欧美 日韩 制服| 久久久久久久尹人综合网亚洲| 三级在线免费观看| 欧美aaaa视频| 五月婷婷一区| 国产午夜精品一区在线观看 | 中文字幕一区二区三区5566| 九九热精品视频在线观看| 精品国产_亚洲人成在线| h视频久久久| 欧美诱惑福利视频| h视频在线播放| 欧美一级国产精品| 91麻豆视频在线观看| 欧美日韩中文字幕一区| 麻豆精品国产免费| caoporen国产精品视频| 精品国产aⅴ一区二区三区东京热| 激情av综合网| 国产黄页在线观看| 亚洲三级观看| 欧美视频在线播放一区| 国产精品久久久免费| 日韩激情视频| 精品国产一区一区二区三亚瑟| 久久久久一区二区| 免费欧美一区| 四虎永久在线精品免费一区二区| 精品国产一区二区三区久久久蜜臀| 欧美日韩视频在线一区二区观看视频| 亚洲bt欧美bt精品777| 欧美精品尤物在线| 国精一区二区| 99精彩视频| 亚洲一级大片| 精品一区二区三区免费毛片| 青草久久视频| 日韩国产在线一区| 亚洲一区二区三区无吗| 欧美亚洲色图视频| 99riav国产精品| 99中文字幕在线观看| 欧美日韩久久| av黄色在线网站| 奇米一区二区三区av| 日韩av影视大全| 日本伊人色综合网| 日日干夜夜操s8| 国产成人自拍高清视频在线免费播放| 中文字幕天堂网| 国产亚洲欧洲997久久综合 | 亚洲熟妇av一区二区三区漫画| 午夜在线视频观看日韩17c| 香港日本韩国三级网站| 亚洲欧美日韩视频二区| 美女一区二区三区视频| 国产一区二区精品久久99| 欧美大喷水吹潮合集在线观看| 韩国精品免费视频| 香蕉视频污视频| 国产欧美一区二区精品婷婷| 亚洲精品中文字幕在线播放| 国产偷国产偷精品高清尤物| 亚洲综合网在线| 欧美日韩在线看| 国产成人一区二区三区影院在线 | 亚洲国产高潮在线观看| 国产成人精品一区二三区四区五区| 欧美日韩久久久| 亚洲第一免费视频| 亚洲欧美日韩成人| www视频在线看| 久久精品视频在线播放| www.51av欧美视频| 国产在线观看一区二区三区 | 欧美日韩激情一区二区三区| 国产后入清纯学生妹| 国产丝袜一区视频在线观看 | 欧美一级电影久久| 99精品在线免费观看| 国产精品丝袜高跟| 亚洲精品在线国产| 亚洲一区二区精品在线观看| av成人毛片| 日本黄色大片在线观看| 国产精品美女久久久久av爽李琼 | 亚洲伦理在线精品| 日韩福利小视频| 欧美日韩一区二区在线播放| 亚洲av无码国产精品久久不卡 | 久久婷婷一区| 人妻激情偷乱频一区二区三区| 中文字幕亚洲区| 精品人妻无码一区二区性色| 亚洲精品一区二区三区精华液| wwwav网站| 色哟哟入口国产精品| 网友自拍亚洲| 欧美日韩最好看的视频| 91久久亚洲| 国内自拍偷拍视频| 亚洲乱码国产乱码精品精的特点| 亚洲影视一区二区| 日韩亚洲电影在线| 黄色网址免费在线观看| 国产精品久久91| 国产区精品区| 欧美在线观看成人| 9久草视频在线视频精品| 久久久久久激情| 日韩美女视频在线| 女同视频在线观看| 成人免费看片网址| 国产一区日韩欧美| 五月天丁香社区| 久久精品一区二区三区四区| 国产在线观看黄色| 亚洲精品在线观看www| 午夜影院在线观看国产主播| 精品久久久久久中文字幕动漫| 亚洲高清自拍| 久热精品在线播放| 国产精品午夜在线观看| 在线免费a视频| 久久精品久久久久| 日本精品国产| 日韩伦理在线免费观看| 日韩成人精品在线| 特黄特色免费视频| 亚洲成a人v欧美综合天堂 | bl视频在线免费观看| 国产精品播放| 国产日韩1区| 日本一道本视频| 制服丝袜成人动漫| 日本三级在线观看网站| 国产美女精品在线观看| 成人免费看片39| 伊人影院综合在线| 亚洲美女精品一区| 黄色aaa毛片| 国产精品91久久久| 香蕉视频国产精品| 国产精品久久久久久亚洲色| 欧美日韩综合视频| 99视频在线观看地址| 亚洲一区二区三区久久 | 91精品国产高清久久久久久91| 亚瑟一区二区三区四区| 邪恶网站在线观看| 一区二区三区自拍| 一二三四区在线| 久久中国妇女中文字幕| 国产精品17p| 免费观看亚洲视频| 精彩视频一区二区| 欧美人妻精品一区二区三区| 欧美日本高清视频在线观看| wwwav在线| 久久久99爱| 精品一区二区免费看| 亚洲性猛交xxxx乱大交| 亚洲不卡在线观看| 国产区视频在线| 99re6在线| 日本美女一区二区三区视频| 神马久久精品综合| 亚洲精品成人网| www.久久爱.com| 欧美视频第一区| 91视频观看视频| 国产精品亚洲欧美在线播放| 97超级碰在线看视频免费在线看| 日韩欧美精品| 无码人妻aⅴ一区二区三区|