美文网首页C++学习日志
指针函数,函数指针,和位运算

指针函数,函数指针,和位运算

作者: 忧郁的老王 | 来源:发表于2018-04-14 21:33 被阅读0次

    1.函数指针和指针函数的区别

    函数指针是指向函数的指针变量本质是一个指针变量

    指针函数可用于将一个函数作为参数传入另一个函数的情况,比如对qsort的调用就需要传入一个大小比较函数作为排序的依据。

     int (*f) (int x); /*声明一个函数指针 */

    f=func; /*将func函数的首地址赋给指针f */  

    变量f的值是调用一个函数的首地址

    指针函数是指带指针的函数,即本质是一个函数,函数返回类型是某一类型的指针

    float *fun();float *p;

    p = fun(a);

    [if !supportLists]2. [endif]简单的位运算

    !按位非,对每一个二进制位取非

    &按位与,对每个二进制位取与运算

    |按位或,对每个二进制位取或运算

    ^按位异或

    按位异或的几个性质:

    如果a^b=c则有 b^c=a  a^c=b     

    利用此性质可推知两个数在不引入三方变量时交换值可用以下办法

    例:a=2 b=3

    a=a^b

    b=a^b

    a=a^b

    >>按位右移 右移的如果符号位是零就补零,如果符号位是1 就补1  ,右移的结果是将这个数除以2的N次方然后将整个树往小的取整。

    <<按位左移 左移的结果就相当于这个数乘以2的N次方 高位直接移除丢弃低位补零

    相关文章

      网友评论

        本文标题:指针函数,函数指针,和位运算

        本文链接:https://www.haomeiwen.com/subject/qbtrkftx.html