C 之指標學習

2021-10-05 16:25:55 字數 1363 閱讀 5374

指標本身就是乙個物件,允許對指標賦值和拷貝,而且在指標的生命週期內它可以指向幾個不同的物件;

指標無須在定義時賦初值。和其他內建型別一樣,在塊作用域內定義的指標如果沒有初始化,也將擁有乙個不確定的值。

#include

using

namespace std;

intmain()

here are the values of x, y,

and z:

2550

75once again, here are the values of x, y,

and z:

50100

150

double dval;

double

*pd =

&dval;

//double* pd = &dval

double

*pd2 = pd;

指標的值應屬於下列4中狀態之一:

指向乙個物件;

指向緊鄰物件所佔空間的下乙個位置;

空指標,意味著指標沒有指向任何物件;

無效指標,也就是上述情況之外的其他值。

int

*p1 =

nullptr

;//best

int*p2 =0;

//在大多數計算機中,使用者程式不能訪問位址為 0 的記憶體,因為它被作業系統資料占用。這使得 0 成為指示無效記憶體位置值的安全選擇。

int*p3 =

null

;//need #include cstadlib

int zero =0;

p2 = zero;

//錯誤,不能把int變數直接賦給指標

int

* p1,p2;

//p1為指標,p2是int

int ival =

1024

;int

*p1 =

&ival;

//p1指向乙個int型的數

int*

*p2 =

&p1;

//p2指向乙個int型指標

cout<<

*p2;

//cout<<&p1

cout<<

**p2;

//cout<<1024

int i =42;

int*p;

int*

&r = p;

//r是指向p的引用

r =&i;

//r賦值&i,就是令p指向i

*r =0;

//i = 0

C 學習之指標

指標所佔的記憶體空間 空指標和野指標 const修飾指標 指標和陣列 指標和函式 指標配合函式和陣列綜合案例 記憶體的編號是從0開始的,一般用十六進製制數字表示,我們可以利用指標變數來儲存記憶體的位址 語法 資料型別 指標變數名 例1 include using namespace std int ...

C 學習筆記之 this指標

目錄this指標指向被呼叫的成員函式所屬的物件 include include using namespace std class person int main 0x61fe8c 1 0x61fe88 2 include include using namespace std class pers...

C 學習 物件模型之 this指標

在 c 中,每乙個物件都能通過this指標來訪問自己的位址。this指標是所有成員函式的隱含引數。因此,在成員函式內部,它可以用來指向呼叫物件。this指標針對物件。對於非成員函式,靜態函式和友元函式不能使用this指標,因為他們指標所有物件。this指標只針對某乙個物件。多繼承和多型的this指標...