C之函数指针

简介: 这方面的技能,在观察系统调用时,是很需要的。 但我不是很熟悉,另外,要再会函数指针数组的话,那就更强啦~~ 按《HEAD FIRST C》作了个样例: cat find.c #include #include int NUM_ADS = 7; char *ADS[] = ...

这方面的技能,在观察系统调用时,是很需要的。

但我不是很熟悉,另外,要再会函数指针数组的话,那就更强啦~~

按《HEAD FIRST C》作了个样例:

cat find.c 
#include <stdio.h>
#include <string.h>

int NUM_ADS = 7;
char *ADS[] = {
  "William: SBM GSOH like sports, TV, dining",
  "Matt: SWM NS likes art, movie, theater",
  "Peter: SHN like out ,art",
  "DWM: DS likes truncks, sports and bieber",
  "Luis: SLM ND likes books, theater, art",
  "Josh: SJM likes sports, movies and theater",
  "Mike: DWM DS likes trucks, sports and bieber"
  };
void find_raw() {
  int i;
  puts("Raw search results:");
  puts("=================");
  for (i = 0; i < NUM_ADS; i++) {
        if (strstr(ADS[i], "sports" )
          && !strstr(ADS[i], "bieber")) {
          printf("%s\n", ADS[i]);
        }
  }
  puts("================");
}
int sports_no_bieber(char *s){
  return strstr(s, "sports") && !strstr(s, "bieber");
}
int sports_or_workout(char *s){
  return strstr(s, "sports") || strstr(s, "workout");
}
int theater_or_dining(char *s){
  return strstr(s, "theater") || strstr(s, "dining");
}

void find(int (*match)(char*) ){
  int i;
  puts("Search results:");
  puts("*******************");
  for (i = 0; i < NUM_ADS; i++) {
    if ((*match)(ADS[i])) {
      printf("%s ;\n", ADS[i]);
    }
    if (!match(ADS[i])) {
      printf("$$$$$$$$$$$$$\n");
    }
  }
  puts("*************************");
}
int main() {
  find_raw();
  find(sports_or_workout);
  find(&theater_or_dining);
  return 0;
}

目录
相关文章
|
8月前
|
C++
c++中函数指针
c++中函数指针
40 1
|
8月前
|
存储 程序员 C++
C++函数指针
C++函数指针
|
3月前
|
存储 C++ 索引
C++函数指针详解
【10月更文挑战第3天】本文介绍了C++中的函数指针概念、定义与应用。函数指针是一种指向函数的特殊指针,其类型取决于函数的返回值与参数类型。定义函数指针需指定返回类型和参数列表,如 `int (*funcPtr)(int, int);`。通过赋值函数名给指针,即可调用该函数,支持两种调用格式:`(*funcPtr)(参数)` 和 `funcPtr(参数)`。函数指针还可作为参数传递给其他函数,增强程序灵活性。此外,也可创建函数指针数组,存储多个函数指针。
113 6
|
8月前
函数指针
函数指针。
33 1
|
8月前
|
C语言
指针函数和函数指针
指针函数和函数指针
55 0
|
C++
C++函数指针
C++函数指针
70 1
函数指针:
函数指针:本质是指针变量 保存的是函数的入口地址
函数指针:
|
编解码 Cloud Native 网络协议
【C/C++】函数指针与指针函数
函数指针是指向函数的指针变量。 因此函数指针本质上是一个指针变量,只不过该指针变量指向函数。指针变量也可以指向整型变量、字符型、数组,也可以指向函数。
152 0
|
编译器
函数指针做函数参数 使用总结及其意义
函数指针做函数参数 使用总结及其意义
158 0
函数指针做函数参数 使用总结及其意义