指標的一些總結

2021-07-24 10:57:44 字數 1167 閱讀 5645

2023年9月14日:

指標陣列和陣列指標

指標陣列是指:陣列元素都是指標

int

*ptr[5];

int a = 2, b = 3, c = 6,*p, *q;

p = &a;

q = &b;

ptr[0] = &a;//存入的是a的位址

ptr[1] = &b;

ptr[2] = &c;

cout <<"ptr[0] "

<< *ptr[0] << endl;

cout << "ptr[1] "

<<*ptr[1] << endl;

cout << "ptr[2] "

<<*ptr[2] << endl;

cout << "p "

<"q "

<

int test[3][2] = ;

int(*ptr)[2];

ptr = &test[0];

cout << (*ptr)[0] << (*ptr)[1] << (*ptr)[2] << endl;

與函式指標一樣,,用指標代替 標籤(函式名,陣列名)

2. 空指標和迷途指標

空指標:是指指標指向的位址為空

迷途指標:是指 釋放記憶體以後的指標,此時指標雖然任然指向該記憶體位址,但是該記憶體或許分配給其它變數,稱它是迷途的、懸浮的。

此時應該 對該指標賦空值。 不然會導致程式崩潰(使用時)

注:使用空指標也會崩潰,但是是可**的

3. c++有了malloc/free 為什麼還用new/delete

malloc/free是c++標準庫函式,而new/delete是運算子,物件在產生時會自動執行建構函式,物件消亡時會自動執行析構函式,由於malloc是標準庫函式,不在編譯器控制範圍內,因此還要用到new/delete運算子。

4. 控制代碼和指標有什麼不同

指標標記某個物理記憶體位址。

控制代碼:在windows系統中,控制代碼用來標記系統資源,隱藏系統資訊。

windows經常在記憶體中來回移動物件來滿足應用程式需要,因此物件位址會來回變更,所以windows會專門開闢一塊固定記憶體(控制代碼位址),來儲存物件新變化得位址,即控制代碼是指向指標的指標。(乙個記憶體位址存放另乙個物件的記憶體位址)

5.

關於指標的一些總結

指標和陣列一樣,都是基於其它型別的。指標的宣告 int p updates 運算子兩邊的空格是可選的。對每個指標變數命名,都需要乙個 變數名,為取址,它的值為變數的位址 32位 指標變數,為指標儲存的位址所儲存的值。可以通過改變它來改變。malloc 可以分配記憶體,但c 更好的方法是使用new。i...

const 指標的一些總結

前兩天在網上看到華為的一些筆試題,對基礎的掌握仍然是這種大公司所重視的。其間對指標掌握的要求比較多,有一道是關於const指標的。看到那道題,回來整理了一些有關const指標的內容,分享一下。const說明指標變數,組合的情況可能會顯得很複雜。使用指標時要涉及兩個目標,即指標本身和指標所指的物件。關...

指標變數的一些總結

作用 利用指標,可以直接處理記憶體中各種資料結構的資料,特別是陣列,字串。靈活,正確運用指標,可以提高程式的執行效率,編寫出精煉而高效的程式。指標變數必須先定義,後使用。定義的一般形式為 資料型別識別符號 指標變數名 int p double d char pc 注意 1,指標變數資料型別必須與所賦...