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');

  • 相关阅读:
    使用 PyCharm 远程调试 Django 项目
    (坑集)Python环境配置
    字典的使用
    列表的使用
    字符串的魔法
    php 文件函数
    php 时间函数
    php xajax库基本知识
    php header函数
    c++注释
  • 原文地址:https://www.cnblogs.com/hello2mhb/p/3403431.html
Copyright © 2011-2022 走看看