指標本身就是乙個物件,允許對指標賦值和拷貝,而且在指標的生命週期內它可以指向幾個不同的物件;
指標無須在定義時賦初值。和其他內建型別一樣,在塊作用域內定義的指標如果沒有初始化,也將擁有乙個不確定的值。
#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指標...