概念:指針是一個(gè)新的數(shù)據(jù)類型,帶? N 個(gè)? *? 號(hào)的數(shù)據(jù)類型,任何一個(gè)數(shù)據(jù)類型后面都能跟上? N? 個(gè) * 號(hào);
?聲明:
? ? ? ? ?1)char**? x ;? ? ? ? ? ? ? ?char***? x;? ? ? ? ? ? ? char*******? ? x;
? ? ? ? ?2)short** y;? ? ? ? ? ? ? ? short***? y;? ? ? ? ? ? ? short********? ? y;
? ? ? ? ?3)int**? ? z;? ? ? ? ? ? ? ? ? int***? ? ? ? z;? ? ? ? ? ? int********? ? z;
? ? ? ? ?4)double**? ? k;? ? ? ? ? double***? ? k;? ? ? ? double********? ? k;
賦值:
? ? ? ? 1)簡(jiǎn)化寫(xiě)法:int? ? x ;? ? x = 10 ;? ??
? ? ? ? 2)完整寫(xiě)法:int *? ?x ;? ? x = ( int * ) 10 ;? 告訴編譯器怎樣看待后面的值10,*號(hào)類型賦值必須用完整寫(xiě)法。
特征:
? ? ? ? 1)所有指針類型的 [ 數(shù)據(jù)寬度 ] :4 字節(jié)(32bit)

? ? ? ? 2)++ 或者 --(++或--操作,到底加幾還是減幾?
? ? ? ? 答:砍掉一個(gè)*號(hào),是什么類型寬度,那么++和--就自加或自減砍掉一個(gè)*號(hào)后的類型寬度)




?????????3)+? 上? 或者? ?-? 去,一個(gè)整數(shù)


? ? ? ? 4)兩個(gè)指針類型:求差值
? ? ? ? ? ? ? ? 答:可以相減,但是*號(hào)的數(shù)量和類型必須相同,相減后除以類型的寬度(判斷類型寬度就砍掉一個(gè)*號(hào)后的);
? ? ? ? 5)指針類型之間:做大小比較
? ??????????????答:可以相減,但是*號(hào)的數(shù)量和類型必須相同。
指針高級(jí)用法(※ 星行之旅 ※),將指針運(yùn)算轉(zhuǎn)換成數(shù)組尋址模式
char? ? x;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
char* p1;????char** p2;? ? char*** p3;? ? char**** p4;? ? char***** p5;? ? char****** p6;
x = *p1 = *(p1+0) = p1[ 0 ]
x = *(*(p2+1)+3) = p2[ 1 ][ 3 ]? ? 內(nèi)存尋址--->? ? +4? +3
x = *(*(*(p3+1)+2)+3) = p3[ 1 ][ 2 ][ 3 ]? ?內(nèi)存尋址 --->? ? +4? +8? ? +3