<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            C語言類型轉換的方法

            時間:2025-02-21 03:15:47 C語言 我要投稿
            • 相關推薦

            C語言類型轉換的方法

              C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。下面是小編帶來的C語言類型轉換的方法,希望對你有幫助。

              我們在編程序的時候,經常會出現不同類型的數據之間需要計算、賦值,必然會出現類型轉換問題。C語言的變量數據類型是可以轉換的,轉換的方法有兩類,一種是自動轉換,一種是強制轉換。

              自動轉換

              這種轉換發生在不同數據類型的量混合運算或賦值時,由編譯系統自動完成。自動轉換遵循以下規則:

              1、若參與運算量的類型不同,則先轉換成同一類型,然后進行運算。

              2、轉換時按數據長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型后再進行運算。

              3、所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉換成double型,再作運算。

              4、char型和short型參與運算時,必須先轉換成int型。

              5、在賦值運算中,賦值號兩邊量的數據類型不同時,賦值號右邊量的類型將轉換為左邊量的類型。如果右邊量的數據類型長度左邊長時,將丟失一部分數據,這樣會降低精度,丟失的部分按四舍五入向前舍入。

              強制類型轉換

              強制類型轉換是通過類型轉換運算來實現的,形式為在要轉換的數值或者表達式前用小括號將要類型括起來。比如要將double類型的數據強制轉換為int型:

              double d = 1.234;

              float f = 5.678;

              int i = (int)d;

              也可以是整個表達式的轉換:

              long l = (long)(d + f);

              在使用強制轉換時應注意以下問題:

              1、類型說明符和表達式都必須加括號(單個變量可以不加括號),如把(int)(x+y)寫成(int)x+y則成了把x轉換成int型之后再與y相加了。

              2、無論是強制轉換或是自動轉換,都只是為了本次運算的需要而對變量的數據長度進行的臨時性轉換,而不改變數據說明時對該變量定義的類型,也就是被強制轉換的變量或表達式本身還是原來的類型。

              拓展閱讀

              C語言指針變量的類型

              對指針變量的類型說明包括三個內容:

              (1)指針類型說明,即定義變量為一個指針變量;

              (2)指針變量名;

              (3)變量值(指針)所指向的變量的數據類型。

              其一般形式為: 類型說明符 *變量名;

              其中,*表示這是一個指針變量,變量名即為定義的指針變量名,類型說明符表示本指針變量所指向的變量的數據類型。

              例如: int *p1;表示p1是一個指針變量,它的值是某個整型變量的地址。 或者說p1指向一個整型變量。至于p1究竟指向哪一個整型變量, 應由向p1賦予的地址來決定。

              再如:

              staic int *p2; /*p2是指向靜態整型變量的指針變量*/

              float *p3; /*p3是指向浮點變量的指針變量*/

              char *p4; /*p4是指向字符變量的指針變量*/ 應該注意的是,一個指針變量只能指向同類型的變量,如P3 只能指向浮點變量,不能時而指向一個浮點變量, 時而又指向一個字符變量。

              指針變量的賦值

              指針變量同普通變量一樣,使用之前不僅要定義說明, 而且必須賦予具體的值。未經賦值的指針變量不能使用, 否則將造成系統混亂,甚至死機。指針變量的賦值只能賦予地址, 決不能賦予任何其它數據,否則將引起錯誤。在C語言中, 變量的地址是由編譯系統分配的,對用戶完全透明,用戶不知道變量的具體地址。 C語言中提供了地址運算符&來表示變量的地址。其一般形式為: & 變量名; 如&a變示變量a的地址,&b表示變量b的地址。 變量本身必須預先說明。設有指向整型變量的指針變量p,如要把整型變量a 的地址賦予p可以有以下兩種方式:

              (1)指針變量初始化的方法 int a;

              int *p=&a;

              (2)賦值語句的方法 int a;

              int *p;

              p=&a;

              不允許把一個數賦予指針變量,故下面的賦值是錯誤的: int *p;p=1000; 被賦值的指針變量前不能再加“*”說明符,如寫為*p=&a 也是錯誤的

            【C語言類型轉換的方法】相關文章:

            C語言數據類型轉換02-28

            C語言基礎之數據類型轉換03-11

            C語言數據類型轉換實例代碼04-26

            C++的類型轉換介紹05-03

            在C語言中轉換時間的基本方法07-14

            java類型的字符轉換的方法02-26

            C語言變量的類型04-08

            C語言常量的類型03-19

            c語言引用類型和值類型05-01

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院