一。變量的類型告訴編譯器怎么處理這個變量的數據。
雖然c語言是強類型語言,但是不同類型的變量通過類型轉換也可以賦值,甚至指針變量可以轉化為int類型,轉化為char類型。從本質上來說,變量類型只是告訴編譯器應該怎么處理這個變量,所以不同變量可以通過顯示類型轉換來賦值。理解這點對我們理解指針的轉型非常重要。例如
inta=10;int**ptr=&a;intb=(int)(*ptr);//*ptr是一個指針,但是通過轉型為int,我們可以將其賦值給b。
如果不明白變量類型的本質,那么會以為第三行代碼是錯誤的。為什么可以這樣賦值呢?(*ptr)是一個指針,可是指針也有值,它的值是一個地址,地址其實就是無符號整數。所以我們通過類型轉換變成int,這個變量在內存中的數據沒有變化,只是對它的解析變化了。如果是作為指針類型,那么數據是作為指針來解析;如果作為int型,那么數據是作為int來解析。事實上,我們還可以將其賦值給char類型。將其轉型為char,那么對它的解析就是char類型了,只取數據的一個字節解析成char類型,賦值給ch。
charch=(char)(*ptr);//有些編譯器會報錯,將其改成(char)(int)(*ptr)就可以修正錯誤了。
二。變量的類型告訴編譯器要分配多少內存空間。
在定義一個變量時,變量類型告訴編譯器要分配多少內存空間來存儲變量。
charch;//1Binti;//4Blongl;//4Bfloatf;//4Bdouble;//8B
順便說說,如何理解多級指針。例如int **ptr;
當我們遇到二級指針,三級指針時,總是弄不明白各級指針是什么意思。有一種方法比較容易多級指針,將指針作為數組來理解。一級指針是一維數組,二級指針是二維數組,三級指針是三維數組,依此類推。當然有些時候不能這么理解,那就要具體問題具體分析了。
int*ptr1;//一維數組int**ptr2;//二維數組int***ptr3;//三維數組
看完上述內容,你們掌握C語言中有哪些變量類型的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注本站行業資訊頻道,感謝各位的閱讀!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
利率是指一定時期內利息額與借貸資金額(本金)的比率。利率是決定企業資金成本高低的主要因素,同時也是企業籌資、投資的決定性因素,對金融環境的研究必須注意利率現狀及其變動趨勢。那么有效年利率怎么理解?實際利率和有效利率一樣嗎?有效年利率(Effective Annual Percentage Rate)指在按照給定的計息期利率和每年復利次數計算利息時,能夠產生相同結果的每年復利一次的年利率。在按照給定...
跨行查詢要手續費嗎?要進行跨行查詢的話,去ATM機上就可以查詢了,任何一家銀行網點都是有ATM機的。ATM機不僅可以同行查詢,還可以跨行查詢;以及同城查詢、異地查詢。而且在ATM機上進行查詢一般是不會收取任何手續費用的,無論客戶是同行查詢,還是跨行查詢,又或者是同城查詢、異地查詢。如果是去銀行網點柜臺的話,那自然是查詢不了的。畢竟銀行網點柜臺只能查詢本行,不能查詢他行。而大家還需要注意,雖然在AT...
最近小編看到大家都在討論關于諸葛亮的小說相關的事情,對此呢小編也是非常的感應興趣,那么這件事究竟是怎么發生的呢?具體又是怎么回事呢?下面就是小編搜索到的關于關于諸葛亮的小說事件的相關信息,我們一起來看一下吧!關于諸葛亮的小說如下:1、《三國之蜀漢中興》,作者為寒塘鴉影;(相關資料圖)2、《重生三國我做主》,作者為江南強子;3、《重生之孔明異世點將錄》,作者為仆王之王;4、《我哥是諸葛亮》,作者為叢...