指標是乙個用來儲存位址的變數。
int a =10;
int* p =
&a
通過解引用的方式找到指標指向的記憶體
*p =
1000
;cout << p << endl;
cout <<
*p << endl;
32位作業系統下,指標都占用4個位元組;64位作業系統下,佔8個位元組。
cout <<
sizeof
(int*)
<< endl;
cout <<
sizeof
(char*)
<< endl;
cout <<
sizeof
(float*)
<< endl;
cout <<
sizeof
(double*)
<< endl;
指標變數指向記憶體中編號為0的空間。
用途:初始化指標變數。
注意:空指標指向的記憶體不可以訪問;0~255編號的記憶體為系統占用。
int
* p =
null
;
指標變數指向非法的記憶體空間。盡量避免出現野指標。
int
* p =
(int*)
0x1100
;
特點:指標的指向可以修改,但指標指向的值不可以改。
const
int* p =
&a;
特點:指標的指向不可以改,指標指向的值可以改。
int
*const p =
&a;
特點:指標的指向和指標指向的值都不可以改。
const
int*
const p =
&a;
利用指標訪問陣列中的元素。
int arr[10]
=;int* p = arr
for(
int i =
0; i <
10; i++
)
void
swap
(int
*p1,
int*p2)
intmain()
void
bubblesort
(int
*arr,
int len)}}
}void
printarray
(int
* arr,
int len)
}int
main()
;int len =
sizeof
(arr)
;bubblesort
(arr, len)
;printarray
(arr, len)
;system
("pause");
return0;
}
c 指標入門
什麼是指標?其實指標就像是其它變數一樣,所不同的是一般的變數包含的是實際的真實的資料,而指標是乙個指示器,它告訴程式在記憶體的哪塊區域可以找到資料。這是乙個非常重要的概念,有很多程式和演算法都是圍繞指標而設計的,如鍊表。開始學習 如何定義乙個指標呢?就像你定義乙個其它變數一樣,只不過你要在指標名字前...
C 入門 this指標
在 c 中,每乙個物件都能通過this指標來訪問自己的位址。this指標是所有成員函式的隱含引數。因此,在成員函式內部,它可以用來指向呼叫物件。友元函式沒有this指標,因為友元不是類的成員。只有成員函式才有this指標。成員函式最終被編譯成與物件無關的普通函式,除了成員變數,會丟失所有資訊,所以編...
C語言 指標入門
在我年輕的時候,我三次鼓起勇氣學習c,三次都倒在了指標上 雖然很清楚指標是一種存放位址的變數,但是他具體是乙個什麼意思呢?我把整個空間看成乙個 n 1 維的空間。n 是資料型別,可能是int,char,double,等等。1 是位址。把位址看成一根數軸。舉個粒子 int pa int a 5 pa ...