1. 指標的概念
指標就是變數,就是存放位址的變數
#include
#include
intmain()
對於32位的機器,假設有32根位址線,那麼假設每根位址線在定址的是產生乙個電訊號正電/負電(1或者0),那麼32根位址線產生的位址就會是:
00000000 00000000 00000000 00000000每個位址標識乙個位元組,那我們就可以給 (2^32byte == 2^32/1024kb == 2^32 /1024/1024mb==2^32/1024/1024/1024gb == 4gb) 4g的空閒進行編址。00000000 00000000 00000000 00000001
…11111111 11111111 11111111 11111111
對於64位的機器,假設有64根位址線,那麼32根位址線產生的位址就會是:
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000每個位址標識乙個位元組,那我們就可以給 (2^64byte == 2^64/1024kb == 2^64 /1024/1024mb==2^64/1024/1024/1024gb == 8gb) 8g的空閒進行編址。00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000001
,,,,,,,
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
在32位的機器上,位址是32個0或者1組成二進位制序列,那位址就得用4個位元組的空間來儲存,所以乙個指標 變數的大小就應該是4個位元組。 在64位機器上,如果有64個位址線,那乙個指標變數的大小是8個位元組,才能存放乙個位址。
綜上總結:指標的大小在32位平台是4個位元組,在64位平台是8個位元組
2. 指標和指標型別
char *pc = null;
int *pi = null;
short *ps = null;
long *pl = null;
float *pf = null;
double *pd = null;
總結:指標的型別決定了指標向前或者向後走一步有多大(距離)。
3.指標運算
int arr=
;for
(int i =
0; i <
sizeof
(arr)
/sizeof
(arr[0]
); i++
)
int arr=
;printf
("%d\n"
,(arr +9)
- arr)
;//結果輸出為9
4.二級指標
int a =10;
int* pa =
&a;int
** ppa =
&pa;
//a的位址存放在pa中
//pa的位址存放在ppa中
//pa是一級指標,ppa是二級指標
5.指標與陣列(名)
int arr[10]
=;printf
("%p\n"
, arr)
;printf
("%p\n"
,&arr[0]
);//arr=00f3fb30
// &arr[0]=00f3fb30
int arr[10]
=;int* p = arr;
int size =
sizeof
(arr)
/sizeof
(arr[0]
);for(
int i =
0; i < size; i++
) 輸出為:
//&arr[0] = 008ffabc <= == = > p + 0 = 008ffabc
//& arr[1] = 008ffac0 <= == = > p + 1 = 008ffac0
//& arr[2] = 008ffac4 <= == = > p + 2 = 008ffac4
//& arr[3] = 008ffac8 <= == = > p + 3 = 008ffac8
//& arr[4] = 008ffacc <= == = > p + 4 = 008ffacc
//& arr[5] = 008ffad0 <= == = > p + 5 = 008ffad0
//& arr[6] = 008ffad4 <= == = > p + 6 = 008ffad4
//& arr[7] = 008ffad8 <= == = > p + 7 = 008ffad8
//& arr[8] = 008ffadc <= == = > p + 8 = 008ffadc
//& arr[9] = 008ffae0 <= == = > p + 9 = 008ffae0
6.指標陣列
指標(初階 和指標陣列
1 指標 初階 概念 指標是乙個物件,它存著乙個位址,在這個位址中存該指標的值 eg 門牌號 001 小呂家 32位作業系統 32條位址匯流排,可以查詢 2 32的定址範圍 2 32 1024 1024 4g 指標佔4位元組 32位作業系統4位元組,64位下8位元組 不同型別的指標可以接收不同型別的...
資料儲存以及初階指標應用
大端位元組序 指資料的低位指向記憶體的高位址,資料的高位指向記憶體的低位址。小段位元組序 指的是資料的低位指向記憶體的低位址,資料的高位指向記憶體的高位址。任意型別氣泡排序練習 3 任意型別氣泡排序 include include struct stu 結構體中的年齡 int cmp age con...
Window GDI入門初階
好久沒發貼了,今天手癢癢,也發乙個。gdi的繪圖函式基本上都是有狀態的,所有的函式都要求乙個hdc型別的控制代碼。這個hdc的獲得有幾個途徑beginpaint,getwindowdc,getdc.他們的引數都只需要乙個hwnd就差不多了。記得呼叫了beginpaint後要呼叫endpaint進行清...