本文目錄一覽:
- 1、在C語言中5種基本數據類型的存儲空間長度的排列順序
- 2、7、在C語言中(以16位PC機為例),5種基本數據類型的存儲空間長度的排列順序為 。
- 3、C語言的內存地址是按什麼順序排列的:比如是按從大到小還是內存自動分配的,請舉例
在C語言中5種基本數據類型的存儲空間長度的排列順序
對.
類型名 變量字節 取值範圍
[singned]char 1 -128~127
ungsigned char 1 0~255
[singned] long int 4 -2147483648~2147483647
unsiged long [int] 4 0~4294967295
float 4 -3.4E38~3.4E38 7個有效位
double 8 -1.7E308~1.7E308 15個有效位
7、在C語言中(以16位PC機為例),5種基本數據類型的存儲空間長度的排列順序為 。
5種基本數據類型的存儲空間長度的排列順序為:charintlong int=floatdouble。
char(字符型)的存儲空間大小為1個字節,int(整數型)的存儲空間大小為2個字節,long int(長整數型)的存儲空間大小為4個字節,float(單精度型)的存儲空間大小為4個字節,double(雙精度型)的存儲空間大小為8個字節。
所以charintlong int=floatdouble,結果選擇A。
擴展資料:
強制類型轉換是通過類型轉換運算來實現的。其一般形式為:(類型說明符)(表達式)其功能是把表達式的運算結果強制轉換成類型說明符所表示的類型。
自動轉換是在源類型和目標類型兼容以及目標類型廣於源類型時發生一個類型到另一類的轉換。例如: (float) a 把a轉換為浮點型,(int)(x+y) 把x+y的結果轉換為整型。
參考資料來源:百度百科-數據類型
參考資料來源:百度百科-C語言類型強制轉換
C語言的內存地址是按什麼順序排列的:比如是按從大到小還是內存自動分配的,請舉例
您問的具體是什麼?
(1)是地址編號和集成電路裡面(用顯微鏡看)各個單元的位置次序之間的關係?
(2)還是問程序中各個指令代碼執行的次序和地址編號之間的關係?
(3)還是問程序中各個變量的次序和地址編號之間的關係?
如果是(1),那麼
集成電路裡面各個單元的位置次序,一般是不公開的。所以人們不知道它的次序是從左到右還是從右到左還是別的方式。據說,現在的布局大多是交叉分散排列的,因為程序中經常出現連續訪問連續地址的操作,如此分散排列,可以使功耗分散,減小局部溫升,延長器件壽命。
如果是(2),那麼
一般的指令,除了跳轉指令和調用、返回指令以外,普通指令都是按照地址連續增加的次序,連續排列的。而且,彙編語言中書寫程序清單的次序,除了使用特殊偽指令規定地址(如ORG指令)處以外,都是按照地址編號連續增加的次序書寫的。如此,除跳轉、調用、返回指令外,書寫的次序就是執行的次序。
如果是(3),那麼
用彙編語言設計程序時,你可以隨自己習慣,覺得怎麼安排方便,就怎麼安排。
如果是高級語言,那麼,不同的編譯程序,可以有所不同。
不過,如果是C語言,那麼數組內部各個下標變量的地址,必須是按照下標由小到大地址也由小到大的次序連續安排。這是因為,C語言中,對指針的運算有嚴格規定。
例如p是指向整數的指針,則p+2就應該等於指向p所指的整數變量後面第二個整數變量的指針。於是(p+2)相應的物理地址,就應該等於p相應的物理地址加上2倍int變量的長度。 而對於數組,又是按照指針的概念來規定的。例如:a[2]就和*(a+2)完全等效。
原創文章,作者:PRGY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147067.html