指標內部的儲存形式

2021-06-04 02:48:02 字數 1056 閱讀 3665

1.在程式編譯時,會產生乙個變數名列表(即變數識別符號列表,物件導向程式設計中變數也叫物件包括:我們常說基本型別變數,自定義類型別變數,及它們的常量變數靜態變數等,甚至包括字面常量,函式甚至也可以稱之為變數(對於定義完的具體函式也會分配到自己的空間,有自己的型別,可以取其位址,所以函式也可以稱之為物件,這體現了一切都是物件的思想,但一般我們說變數還是指前幾種)。)。這個變數名列表又可稱之為變數入口位址列表。每個變數名對映到變數名列表的固定位置。便於以後編譯時使用。這些變數又被指定型別,這些型別(如int,string, 類,等存在於程式區,以便定義或初始化變數時使用),變數名列表中值對應的便是變數的位址(變數入口位址)。具體變數的位址中對應的便是變數的值或定義體。同樣對於資料型別(資料型別有基本資料型別,自定義資料型別,及對於他們的迭代型別(指標,陣列))來說,型別也被儲存,對於自定義的類來說,在定義型別名的時候,也會開闢一部分儲存空間,存放static變數(函式定義目前不知道是否在這部分空間)等。下面程式可以看出例項乙個物件,會占用一部分儲存空間,本身類型別也占用一部分儲存空間:

#include

using namespace std;

class a

void func() {}

};int a::j = 0;

int a::k = 0;

typedef void (*func)();

int main()

2.所以當我們對乙個定義的變數使用取位址操作符的時候(&),程式查詢變數名列表,將其對應的值(即位址)取出。注:當我們對乙個名稱只宣告,而沒有定義時,無法對其取位址。如:

#include

using namespace std;

void func();

int main()

cout << &func << endl;    //error

cout << func << endl;    //error

#include

using namespace std;

void func() ;

int main()

cout << &func << endl;    //ok

內部儲存 外部儲存

內部儲存 系統儲存 物理位置是位於手機內部的非易失性儲存器上,就是俗稱的rom 系統快取 記憶體 物理位置是位於手機內部的隨機儲存器上,就是俗稱的ram rom相當於電腦硬碟,斷電後依然能夠儲存資料 ram相當於電腦記憶體,斷電後資料丟失 而android系統是基於linux系統建立的,她的分割槽結...

YUV及儲存形式

yuv主要的取樣格式 主要的取樣格式有ycbcr 4 2 0 ycbcr 4 2 2 ycbcr 4 1 1和 ycbcr 4 4 4。其中ycbcr 4 1 1 比較常用,其含義為 每個點儲存乙個 8bit 的亮度值 也就是y值 每 2x2 個點儲存乙個 cr 和cb 值,影象在肉眼中的感覺不會起...

內部儲存器

儲存單元由8個二進位制位組成,占用乙個位址編碼,cpu對儲存器進行資訊的寫入和讀出就以位元組作為最基本的單位。按在計算機中的作用來分,可以分為記憶體儲器 主存 外儲存器 輔存 緩衝儲存器 控制儲存器等。半導體儲存器可以分為隨機儲存器 ram 和唯讀儲存器 rom 隨機儲存器又可以分為靜態ram和動態...