zoukankan      html  css  js  c++  java
  • 《C和指针》 读书笔记 -- 第13章 高级指针话题

    1.函数指针

      int (*f)();

      int *(*f[])();

    用途:

    【1】回调函数

    e.g.

    /*在一个单链表中查找指定值*/

    Node *search_list(Node *node,void const *value,int (*compare)(void const *,void const *) )

    {

      while(node != NULL)

      {

        if(compare(&node->value,value)==0)

          break;

        node=node->link;

      }

      return node;

    }

    int compare_ints(void const *a,void const *b)

    {

      if(*(int *)a == *(int *)b)

        return 0;

      else

        return 1;

    }

    desired_node=search_list(root,&desired_value,compare_ints);

    【2】转移表

    double add(double,double);

    double sub(double,double);

    double mul(double,double);

    double div(double,double);

    double (*oper_func[])(double,double)={add,sub,mul,div};

    result=oper_func[oper](op1,op2);

    2.命令行参数

    int main(int argc,char **argv)

    3.字符串常量

    当一个字符常量出现在表达式中时,它的值是一个指针常量。编译器把这些指定字符的一份拷贝存储在内存的某个位置,并存储一个指向第一个字符的指针。

    "xyz"+1;

    "xyz"[2];

    remainder=value%16;

    if(remainder<10)

      putchar(remainder+'0');

    else

      putchar(remainder-10+'A');

  • 相关阅读:
    JZOJ6096 森林
    HIT暑期集训 二分图匹配
    HIT暑期集训 网络流
    HIT暑期集训 tarjan,dfs序
    HIT暑期集训 图论基础
    HIT暑期集训 AC自动机
    HIT第二周 周测补题
    HIT暑期集训 字符串
    HIT暑期集训 动态规划
    HIT暑期集训 平衡树
  • 原文地址:https://www.cnblogs.com/hello2mhb/p/3403431.html
Copyright © 2011-2022 走看看