函數(shù)加星號(hào)是什么意思 c語(yǔ)言中函數(shù)名前加*與不加*有什么區(qū)別?
c語(yǔ)言中函數(shù)名前加*與不加*有什么區(qū)別?Add*是返回指針例如:int Add()//Add()函數(shù)返回int類型的值int*Add()//Add()函數(shù)返回int類型的指針前面的星號(hào)與int組合在一
c語(yǔ)言中函數(shù)名前加*與不加*有什么區(qū)別?
Add*是返回指針
例如:
int Add()//Add()函數(shù)返回int類型的值
int*Add()//Add()函數(shù)返回int類型的指針
前面的星號(hào)與int組合在一起。int*表示函數(shù)的返回類型是int*,即,函數(shù)的返回值是int類型的指針。保存的是函數(shù)的地址,它是被調(diào)用函數(shù)的鍵。每次調(diào)用函數(shù)時(shí),首先會(huì)找到函數(shù)的地址,然后程序的進(jìn)程就可以進(jìn)入函數(shù)體。由于歷史的原因,函數(shù)名和函數(shù)名的地址都可以表示函數(shù)的地址(即函數(shù)二和&函數(shù)二是等價(jià)的),所以*函數(shù)二可視為*(&函數(shù)二),即函數(shù)二。
C ,關(guān)于函數(shù)名前面的星號(hào)?
函數(shù)名是一個(gè)標(biāo)識(shí)符。根據(jù)C語(yǔ)言的標(biāo)識(shí)符標(biāo)準(zhǔn),它只能由字母、數(shù)字和下劃線組成,不能以數(shù)字開(kāi)頭。有了規(guī)則,我們來(lái)看看你說(shuō)了什么。如果函數(shù)名中間有空格,則函數(shù)名將解析為兩個(gè)標(biāo)識(shí)符。然后,因?yàn)樗环险Z(yǔ)法規(guī)則,編譯器將報(bào)告一個(gè)錯(cuò)誤
!以下是手機(jī)上的測(cè)試結(jié)果: