91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中有哪些變量類型

發布時間:2021-07-02 17:15:02 來源:億速云 閱讀:183 作者:Leah 欄目:編程語言

C語言中有哪些變量類型,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

一。變量的類型告訴編譯器怎么處理這個變量的數據。

         雖然c語言是強類型語言,但是不同類型的變量通過類型轉換也可以賦值,甚至指針變量可以轉化為int類型,轉化為char類型。從本質上來說,變量類型只是告訴編譯器應該怎么處理這個變量,所以不同變量可以通過顯示類型轉換來賦值。理解這點對我們理解指針的轉型非常重要。例如

int a = 10; 
int **ptr = &a; 
int b = (int)(*ptr); // *ptr是一個指針,但是通過轉型為int,我們可以將其賦值給b。

如果不明白變量類型的本質,那么會以為第三行代碼是錯誤的。為什么可以這樣賦值呢?(*ptr)是一個指針,可是指針也有值,它的值是一個地址,地址其實就是無符號整數。所以我們通過類型轉換變成int,這個變量在內存中的數據沒有變化,只是對它的解析變化了。如果是作為指針類型,那么數據是作為指針來解析;如果作為int型,那么數據是作為int來解析。事實上,我們還可以將其賦值給char類型。將其轉型為char,那么對它的解析就是char類型了,只取數據的一個字節解析成char類型,賦值給ch。

char ch = (char)(*ptr); // 有些編譯器會報錯,將其改成(char)(int)(*ptr)就可以修正錯誤了。

二。變量的類型告訴編譯器要分配多少內存空間。

        在定義一個變量時,變量類型告訴編譯器要分配多少內存空間來存儲變量。

char ch; // 1B 
int  i;  // 4B 
long l;  // 4B 
float f; // 4B 
double; // 8B

順便說說,如何理解多級指針。例如int **ptr;

當我們遇到二級指針,三級指針時,總是弄不明白各級指針是什么意思。有一種方法比較容易多級指針,將指針作為數組來理解。一級指針是一維數組,二級指針是二維數組,三級指針是三維數組,依此類推。當然有些時候不能這么理解,那就要具體問題具體分析了。

int *ptr1;   // 一維數組 
int **ptr2; // 二維數組 
int ***ptr3; // 三維數組

看完上述內容,你們掌握C語言中有哪些變量類型的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍州市| 四川省| 莆田市| 石嘴山市| 常宁市| 香港| 平泉县| 潜江市| 富阳市| 布尔津县| 汉沽区| 娄底市| 芜湖市| 廉江市| 琼结县| 苗栗县| 巴南区| 绥芬河市| 高平市| 南宁市| 徐水县| 沾益县| 淮北市| 南郑县| 沁水县| 宜章县| 峨山| 秀山| 黔南| 鸡泽县| 太仓市| 新乡县| 长泰县| 遂川县| 瑞金市| 阿鲁科尔沁旗| 都昌县| 虞城县| 博兴县| 武鸣县| 农安县|