言 第六章下:指針(持續(xù)更新中……))
7.指針數(shù)組指針數(shù)組本質(zhì)是數(shù)組該數(shù)組中保存的是指針。語(yǔ)法int a[5];int *a[5];int * :數(shù)組中保存的數(shù)據(jù)類型該數(shù)組中保存的元素是int *指針[5] :該數(shù)組中可以保存5個(gè)指針int *定義了一個(gè)可以保存5個(gè)整形指針的數(shù)組整體占40個(gè)字節(jié)char *p[5];①指針數(shù)組的定義指針類型 數(shù)組名[元素個(gè)數(shù)]②指針數(shù)組的初始化char *p NULL;char *p[5] {NULL};將5個(gè)字符型指針初始化成NULLchar *p hello;char *p[5] {hello, world, how, are, you};p[0] char * p[0]指針保存字符串常量hello的首地址p[1] char * p[1]指針保存字符串常量world的首地址p[2] char * p[2]指針保存字符串常量how的首地址p[3] char * p[3]指針保存字符串常量are的首地址p[4] char * p[4]指針保存字符串常量you的首地址char *p1 hello;char *p2 world;char *p3 how;char *p[3] {p1, p2, p3};③指針數(shù)組和二維字符型數(shù)組區(qū)別char str[3][100] {hello, world, how};sizeof(str) 300字節(jié)char *pstr[3] {hello, world, how};sizeof(pstr) 3 * sizeof(char *) 24字節(jié)【區(qū)別】1.二維字符型數(shù)組中保存的是多個(gè)字符串本身指針數(shù)組中保存的是多個(gè)字符串的首地址。2.要保存多個(gè)字符串用二維字符型數(shù)組要操作多個(gè)字符串用指針數(shù)組。8.二級(jí)指針二級(jí)指針本質(zhì)還是指針是一個(gè)指針變量的地址。int **指針名稱---》保存整形指針的指針char **指針名稱---》保存字符型指針的指針C語(yǔ)言中主要有兩個(gè)二級(jí)指針的使用場(chǎng)景1.想要在被調(diào)函數(shù)中修改主調(diào)函數(shù)中的指針變量實(shí)參需要傳遞該指針變量的地址形參用二級(jí)指針接收。2.指針數(shù)組的數(shù)組名是一個(gè)二級(jí)指針實(shí)參傳遞指針數(shù)組的數(shù)組名時(shí)形參可以用二級(jí)指針接收。char *str[3] {hello, world, how};str[0] --- char * ---保存了字符串常量hello的首地址str str[0] char **二級(jí)指針值傳遞無(wú)法在被調(diào)中修改主調(diào)中的變量只能使用該變量指針傳參可以在被調(diào)中修改主調(diào)中定義的變量也可以使用該變量值傳遞恰好傳遞的值是一個(gè)指針變量無(wú)法在被調(diào)用修改主調(diào)中定義的指針變量可以使用該指針變量。指針傳參可以在被調(diào)函數(shù)中可以修改主調(diào)函數(shù)中定義的指針變量也可以使用該變量