包括浮點值,甚至結構

2021-06-22 20:01:44 字數 2015 閱讀 6064

這個程式產生的結果是:

總和是9

陣列元素可以訪問乙個不恆定整數變數:

1

2

3

intanarray[5];

intnindex = 3;

anarray[nindex] = 7;

然而,當陣列宣告,陣列的大小必須是乙個常數

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

intanarray[5];// ok -- 5 is a literal constant

#define array_size 5

intanarray[array_size];// ok -- array_size is a symbolic constant

constintnarraysize = 5;

intanarray[narraysize];// ok -- narraysize is a variable constant

enumarrayelements

;

intanarray[max_array_size];// ok -- max_array_size is an enum constant

intnsize = 5;

intanarray[nsize];// not ok! -- nsize is not a constant!

總而言之,陣列元素可以被索引與常量或non-constants,但是必須宣告陣列使用常量。這意味著陣列的大小必須在編譯時是已知的!

陣列可以儲存任何資料型別,包括浮點值,甚至結構:

1

2

3

4

5

6

7

8

9

doubleadarray[5];// declare an array of 5 doubles

adarray[2] = 7.0;// assign 7.0 to array element 2

structsrectangle

;

srectangle asarray[5];// declare an array of 5 srectangle

訪問陣列元素的結構成員,首先選擇你想要哪乙個陣列元素,然後使用成員選擇操作符來選擇你想要的成員: 1

2

// sets the nlength member of array element 0

asarray[0].nlength = 24;

字串 大數的乘法(包括浮點數)

一.大數乘法 我們知道,要運算兩個數的乘法,c c 語言裡有專門的運算子 但是當兩個數超過一定的範圍時,用普通的運算子會產生溢位,並不能得到正確的結果。如何進行運算呢?首先,要想儲存乙個大數,用正常的整形或浮點型別是不夠的。所以我們可以採用字串的形式對大數進行儲存,然後編寫演算法,模擬乘法運算過程即...

浮點數記憶體結構

最近比較閒,開始看一些以前的基礎書,回顧一下以前的知識點,這裡分享看 c 反彙編與逆向分析技術揭秘 的一些總結。float型別在向整形型別轉換時,會向零取整,損失精度。浮點數編碼方式 符號 指數 尾數 float 4位元組 32位 1位符號 8位指數 其餘尾數 double 8位元組 64位 一位符...

關於浮點數實際值和預設值

1.1程式如下 1.2.結果如下 預期 1.2f與1.2是相等的,顯示後面的小數應該全是0。實際 1.2f實際是1.2000000476837158 並不是精確的1.2,而1.2f也與1.2不相等。原因 1 float的有效數字只有8個,也就是1.2f輸出20個位時只能保證前8位 1.2000000...