*的結(jié)合優(yōu)先級(jí)低于( )和 [ ]
arr先和[ ]結(jié)合,說明arr是數(shù)組
arr和*結(jié)合,說明a是一個(gè)指針
int* arr[4] | 指針數(shù)組 | 數(shù)組的元素類型int* |
---|---|---|
int** arr[5] | 指針數(shù)組 | 數(shù)組的元素類型int** |
int(*arr)[10] | 數(shù)組指針 | 指向有10個(gè)元素,元素類型為int的數(shù)組 |
一維數(shù)組指針的使用
二維數(shù)組指針的使用
- 數(shù)組指針用于二維數(shù)組傳參
二維數(shù)組的數(shù)組名也表示首元素的地址
二維數(shù)組的首元素是:第一行
采用數(shù)組傳參,列不能省略,列表示每一行有幾個(gè)元素
函數(shù)函數(shù)的地址就是函數(shù)名
int* fun(int ) | 指針函數(shù) | 該函數(shù)參數(shù)是int,返回值是int |
---|---|---|
int (*fun)(int) | 函數(shù)指針 | 指針指向,參數(shù)是int返回值是int的函數(shù) |
int (*fun[5])(int *) | 函數(shù)指針數(shù)組 | 數(shù)組fun有5個(gè)元素,類型為指針;指向參數(shù)為int*返回值值為int的函數(shù) |
回調(diào)函數(shù)通過函數(shù)指針調(diào)用函數(shù)
通過函數(shù)A通過函數(shù)指針調(diào)用函數(shù)B
將函數(shù)B的地址作為參數(shù)傳遞給A函數(shù),被調(diào)的函數(shù)就是回調(diào)函數(shù)
int (*fun[5])(int *)
- fun先與[ ]結(jié)合,說明fun是一個(gè)有5個(gè)元素的數(shù)組
再向右遇見了括號(hào)后向左- 每個(gè)元素類型是指針
再次遇見括號(hào),并跳出該括號(hào)后向右- 指針指向函數(shù),該函數(shù)的有一個(gè)指針參數(shù)和一個(gè)整型返回值。
星號(hào)外的就是指向
復(fù)雜指針分析調(diào)用地址為0的函數(shù),但0不能當(dāng)做一個(gè)地址,所以將0強(qiáng)轉(zhuǎn)為void(*)()類型的函數(shù)
(* ( void(*)() ) 0 ) ( )
strlen&sizeof和數(shù)組名0是一個(gè)整數(shù),先強(qiáng)轉(zhuǎn)成函數(shù)的地址,(對(duì)函數(shù)的地址解引用就是函數(shù))再解引用變成了函數(shù),再加括號(hào)調(diào)用該函數(shù)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧