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次方 高位直接移除丢弃低位补零
网友评论