-
因為cpu的地址總線是32位,也就是尋址空間是32位,如果把內存地址比作一戶人家的門牌號,那么32位的尋址空間可以給2^32戶人家分配門牌號,而計算機中一個內存單位為1個字節,故而32位的操作系統只能使用2^32=(2^10)* (2^10)* (2^10)*( 2^2)=4G字節的內存,這樣說應該很清晰了
查看全部 -
談一些自己的理解,不一定對。
其實這里用 int* a 比用 int *a 好。
int* a 的意思表明這里聲明的變量是 a,且變量類型是指針變量,而指針變量不同于普通變量,它可以存放內存地址。所以此處 a 中存放的是地址 &a (&是取址算符,&a 就是變量 a 在內存中的地址)。
而用 int *a 的話,第一感覺像是聲明了一個整型變量,變量名為 *a,這個變量的性質跟普通的變量,比如 int b 中的 b,沒什么區別,而實際并不是這樣的。
查看全部 -
變量只是一個名稱,來表示一個內存的地址的簡稱,(變量就是內存)
而指針則是將變量(對于我們)與地址本質的轉化,
更利于理解。
形象比喻:內存是一個酒店,每個變量就是房間的門牌,通過指針對門牌來找到地址,從而取得里面的東西。
查看全部 -
C語言語法不允許我們直接操作代碼段;
變量的本質是什么?
變量名只是一個代號,變量的本質就是內存;
指針保存的是內存地址;
查看全部 -
c語言語法不允許用戶直接操作代碼段。
變量的本質是什么?
變量名只是一個代號,變量的本質就是內存。
指針變量保存的就是內存地址,指針的本質就是地址。
查看全部 -
局部變量:1、在函數里面有效
?????????????????2、在自己的函數棧里面才有的值
全局變量:1、所有函數公用的
?????????????????2、修改全局變量唄調用的變量都會發生變化
查看全部 -
16進制,9后面是A,0xf后面是10查看全部
-
enum 枚舉類型名{
枚舉常量1,枚舉常量2,......};
注意:
枚舉常量之間用逗號隔開,最后一個枚舉常量之后不需要逗號。
整個枚舉類型定義語句的最后需要一個分號。
在沒有顯式說明的情況下,枚舉類型中的第一個枚舉常量的值為0,第二個為1,以此類推。如果只指定了部分枚舉常量的值,那么未指定值的枚舉常量的值將依著最后一個指定值向后遞增(步長為1)
不同枚舉類型中的枚舉常量的名字必須互不相同。同一枚舉類型中的不同的枚舉常量可以具有相同的值。
1、定義枚舉類型后聲明枚舉變量
2、定義枚舉類型的同時聲明枚舉變量
3、定義枚舉類型的同時利用typedef關鍵字將其聲明為類型別名,然后利用該類型別名聲明枚舉類型變量
查看全部 -
取地址符&,在方法里傳參數用查看全部
-
&取地址符查看全部
-
GDB查看內存查看全部
-
代碼段也有自己的地址
查看全部 -
變量的本質是內存
指針本質上就是地址
查看全部 -
在程序中,使用一個未聲明變量的地址,改地址里面的值是隨機的。C語言沒有對地址的合法性進行檢查。查看全部
-
變量標記了一個地址和空間,但是不具體的設定其內存的內容.
查看全部
舉報