[C語言] function pointer接收多個參數或者是無參數的宣告型態

MuLong PuYang
2 min readJan 6, 2019

--

之前的一篇文章中,提到了宣告function pointer的方法,但在那一篇文當中,只示範了只有一個參數的情況,這邊我們嘗試實作只有沒有參數的情況下和兩個參數的情況下,function pointer的宣告方式。

沒有參數型態的function

沒有參數的話,則我們在(*func_ptr)後面的那個原本要填參數型態的括號,則不用填任何的參數。

#include <stdio.h>int func() {
printf("good\n");
};
int main(int argc, char* argv[])
{
int (*func_ptr)() = func;
func_ptr();return 0;

兩個參數型態的function

擁有兩個參數的話,則其實只要在(*func_ptr)後面的括號,填寫兩個int即可,也就是(int, int)這樣的格式。

#include <stdio.h>int func(int a, int b) {
return a+b;
};
int main(int argc, char* argv[])
{
int (*func_ptr)(int, int) = func;
printf("%d\n", func_ptr(10, 20));return 0;
}

延伸閱讀

--

--