接上一篇筆記:http://my.oschina.net/woshixiaomayi/blog/536868c++
6,變量爲何要初始化:程序員
所謂初始化就是賦值的意思。數組
釋放:空間的使用權限能夠分配給其餘設備使用編碼
道理是這樣的:spa
當變量不賦值的時候,在內存中有可能保留的是上一個設備使用過殘留的數據,理論上來講是一個隨機值,也就是咱們說的垃圾值,vc++ 若是發現一個變量裏面是一個垃圾值,它會給它一個填充值,就會自動把一個很大的數值放進去。如:操作系統
# include <stdio.h>.net
int main(void)blog
{內存
int i;ci
printf("i=%d\n",i);
return i;
}
輸出結果爲:i=-858993460
放入填充值的好處:提醒程序員這個值沒有初始化。
因此,使用任何一個變量,都要對它進行初始化,否則就沒有實際意義。
軟件運行和內存的關係
當軟件開始,操做系統將軟件的數據讀取到內存中
當軟件正在運行,操做系統不會把內存分配給其餘軟件使用。
當軟件運行完畢以後,操做系統就會回收改內存空間(注意:操做系統並不清空該內存空間中遺留的數據),以便再次分配給其餘軟件使用。
綜上所述,一個軟件所分配到的空間中極有可能存在着之前其餘軟件使用事後的殘留數據,這些數據被稱爲垃圾數據。因此一般狀況下要爲一個變量,一個數組,分配好存儲空間以後都要對該內存空間初始化!
7,如何定義變量
數據類型 變量名 = 要賦予的值;
等價於 數據類型 變量名;
變量名 = 要賦予的值;
8,什麼是進制
十進制就是逢十進一。
二進制就是逢二進一。
C語言規定八進制前要加0(注意是0不是字母o),十六進制前要就加0x或0X,十進制前什麼都不加。
在彙編中:在數字後加字母B表示二進制,加字母O表示八進制,加字母D表示十進制,加字母H表示十六進制。
十進制:
十個基數,逢10進一
基數:0 1 2 3 4 5 6 7 8 9
二進制:
兩個基數,逢2進一
基數:0 1
八進制:
8個基數,逢8進一
基數:0 1 2 3 4 5 6 7
十六進制:
逢十六進一
基數:0 1 2 3 4 5 6 7 8 9 A B C D E F
進制轉化也很重要。
9,常量在C語言中是如何表示的
整數
十進制:傳統的寫法
十六進制:前面加 0x 或者 0x
八進制: 前面加0(這是數字零,不是字母o)
浮點數
傳統的寫法:
float x = 3.4 ;
科學計數法:
float x = 3.2e3; //x的值是 3200
float x = 123.45e-2; //x的值是1.2345(通常也不怎麼用,可是別人用了要能看懂)
字符
單個字符用單引號括起來
'A'表示字符A
「AB」正確 'AB'錯誤
字符串用雙引號括起來
10,常量以什麼樣的二進制代碼存儲在計算機中的
編碼
int i = 42;
整數是以補碼的形式轉化爲二進制代碼存儲在計算機中的
實數是以IEEEE754標準轉化爲二進制代碼存儲在計算機中的
字符的本質實際也是與整數的存儲方式相同
(這一塊也比較難,先了解一下就能夠了)
學PHP的小螞蟻 博客 http://my.oschina.net/woshixiaomayi/blog