C 函数指针与回调函数

函数指针是指向函数的指针变量。

通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。

函数指针可以像一般函数一样,用于调用函数、传递参数。

函数指针变量的声明:

#include<stdio.h>
#include<stdlib.h>

void populate_array(int *array,size_t arraySize,int (*getNextValue)(int i)){
  for(int i=0;i<arraySize;i++){
     array[i]=getNextValue(i);
  }
}

int getNextRandValue(int i){
return i;
}


int main(){
    int mArray[10];
    populate_array(mArray,10,getNextRandValue);
    for(int i=0;i<10;i++){
        printf("%d ",mArray[i]);
    }
    return 0;
 }

size_t 是一种数据类型,近似于无符号整型,但容量范围一般大于 int 和 unsigned。这里使用 size_t 是为了保证 arraysize
变量能够有足够大的容量来储存可能大的数组。

 

posted @ 2017-10-20 17:35  BlueBerry006  Views(157)  Comments(0Edit  收藏  举报