函式指標和typedef的應用

2022-02-06 03:21:39 字數 864 閱讀 5409

首先寫個函式指標的例子

int (*pfun)(int, int);

通過括號強行將pfun首先與「*」結合,也就意味著,pfun是乙個指標,接著與後面的「()」結合,說明該指標指向的是乙個函式,然後再與前面的int結合,也就是說,該函式的返回值是int。由此可見,pfun是乙個指向返回值為int的函式的指標。

雖然它們只有乙個括號的差別,但是表示的意義卻截然不同。函式指標的本身是乙個指標,指標指向的是乙個函式。指標函式的本身是乙個函式,其函式的返回值是乙個指標。隨好的解釋還是要靠例子,下面是例項:

head.h:

#ifndef _typedefptr_h

#define _typedefptr_h

#include #include typedef void (*fptr)(int);

extern void printf_a(int a);

extern void printf_b(int b);

#endif

src.c:

#include "head.h"

#include void printf_a(int a)

void printf_b(int b)

main.c:

#include "head.h"

fptr fptr1,fptr2;

int main(void)

執行結果:

a = 4

a = 103

b = 56

b = 100

typedef 和指向函式的指標

在typedef的使用中,最麻煩的是指向函式的指標,如果沒有下面的函式,你知道下面這個表示式的定義以及如何使用它嗎?int s calc func charop int,int 如果不知道,請看下面的程式,裡面有比較詳細的說明 定義四個函式 intadd int,int intsub int,int...

C 函式指標和typedef

void signal int signum,void handler int int 等價於下面兩行 typedef void sighandler t int sighandler t signal int signum,sighandler t handler 1 signal int sig...

函式指標 指標函式 函式指標的typedef

一直對c 的知識都是懵懵的,總是用著用著 開始覺的疑惑,然後就找找資料,現在就記錄一下 函式指正 和 指標函式 的區別。順便記一下 現在耳機裡的 是 river flows in you yiruma 函式指標 本質是 指標變數 其指向的是函式 宣告 函式返回值型別 指標變數名 函式引數 int f...