[C語言] function pointer介紹. 其實我覺得
文章推薦指數: 80 %
其實我想之所以function pointer比較難以被接受的其中一個原因,是因為其語法格式與一般熟知的C語言是有段差距的,所以以下我們就一般的函數宣告以及function pointer ...
GetunlimitedaccessOpeninappHomeNotificationsListsStoriesWrite[C語言]functionpointer介紹其實我覺得,pointer是C語言中的精隨,而functionpointer更是C語言中的利器,只是我覺得不管是我在C語言的學習過程,還是說在編程的過程中,functionpointer的重要性常常不受關注,很少被提起,再加上pointer本身就不好理解,functionpointer就更不好理解,所以關注的少,但我想functionpointer本身的好用,是值得好好地介紹。
首先我們來創造一個普通的function這裡我們先宣告一個普通的函數func,接收一個參數a,並回傳這個參數的值#include
宣告型態在宣告型態這邊,我們可以看到如果一開始宣告的function為int的型態,則同樣在functionpointer的宣告,同樣也是使用int。
函數名稱這裡我們可以看到函數名稱為func,則在宣告functionpointer的時候,pointer的形式為擁有括號的(*func_ptr)。
參數型態在參數型態可以看到原本的函數是接收的一個int型態的變數a,所以我們在functionpointer的參數型態時,是使用擁有括號的(int)這樣來代表參數的型態。
小結由intfunc(inta)對應到的functionpointer型態int(*func_ptr)(int),functionpointer一開始比較難以接受的原因或許是整個語法型態跟一般的C語言相比會比較奇怪,尤其是(*func_ptr)與(int)的兩個括號,但是會使用functionpointer的話,那將是使用C語言的一大利器。
--MorefromMuLongPuYangFollowLovepodcastsoraudiobooks?Learnonthegowithournewapp.TryKnowableAboutHelpTermsPrivacyGettheMediumappGetstartedMuLongPuYang171FollowersFollowMorefromMediumSyedRahimSaqibAlexNetArchitectureBrianKathukyaINTRODUCTIONTOHTTPAviralJanvejaJavaCourse|Chapter1 :IntroductionThinkingOutCodeFindingLukethroughthecommandlinebyconsuminganAPIHelpStatusWritersBlogCareersPrivacyTermsAboutKnowable
延伸文章資訊
- 1你所不知道的C語言:指標篇 - HackMD
void * 真的萬能嗎? 依據C99 規格6.3.2.3:8 [ Pointers ]. A pointer to a function of one type may be converte...
- 2C Language Pointer as Function Argument - Studytonight
- 3Difference between function pointers and pointer to function - CodeProject
- 4Function pointer - Wikipedia
- 5Function pointers - C# 9.0 specification proposals
//This method has a managed calling convention. ... delegate Func1 Func2(Func1 f); // Function po...