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

  • 相关阅读:
    方维o2o系统域名绑定破解详解
    smarty 学习笔记一
    手机禁止缩放网页 手机CSS导入
    Android 学习笔记(一)
    自动填充短信验证码(使用ContentObserver)
    分享100个开源android项目源码
    php如何实现验证码
    Zend Studio 13 v13.0.0汉化中文版
    java中的静态方法
    继承代码
  • 原文地址:https://www.cnblogs.com/hello2mhb/p/3403431.html
Copyright © 2011-2022 走看看