c高级语法

函数指针:

用于指向函数地址,然后用指针调用函数;定义的时候需要和函数类型匹配

使用方法:

qsort 是c语言的快排函数 ,pfCompare是函数指针

pfCompare是程序员自己写的,必须遵循以下规则:

 

示例程序:

按个位数从小到大排序

 

输出结果:

10 11 123 4 8

命令行参数:

#include<iostream>
#include<cmath>
using namespace std;


int main(int argc,char *argv[])
/*
    argc :启动程序时,命令行参数的个数,执行程序本身的文件名也算一个参数
    argv:指针数组,每一个元素都是一个char *类型的指针,指向对应的命令行参数

*/

{
    for (int i = 0; i < argc; i++)
        printf("%s\n", argv[i]);
    return 0;
}

位运算:

按位与“&”作用

a.某些位清0,某些位不变  

  比如:n &= 0xffffff00,低8位置0,即和0与

b.获取变量的第n位(先右移n位和1与),即(a>>n)&1

 

按位或作用:某些位置1,其他位不变:

n |= 0xff ;低8位置1,即和1或

按位异或作用:某些位取反,其他位不变

n ^= 0xff ;低8位取反,即和1异或

 

按位非:即按位取反

左移运算符:a<<b,即把a左移b位,左移时,高位丢弃,低位补0;左移n位,即乘以2的n次方;

右移运算:右移时,右边丢弃,左边无符号补0,有符号根据符号位补。右移n位,即除以2的n次方,并按小的取整;

 

引用:

int n=4;

int & r=n; r 引用了n,r的类型是 int &

某个变量的引用,等价于这个变量,相当于这个变量的一个别名;

 

注意:

  • 引用定义时一定要初始化成引用某个变量
  • 初始化后,就一直引用该变量,不能引用别的变量
  • 引用只能引用变量,不能引用常量和表达式

 

 

形参的改变不能改变实参;

 

 

 

常引用

 

不能通过常引用去修改其引用的内容

 

const关键字

 1)定义常量

 

2)定义常量指针

 

 

 

 

动态内存分配:

 

 

 

 new int,new int[4]          返回值类型是int *,即int类型的指针

释放存储空间:

 

 

注:[]代表指针指向的是动态分配的数组

内联函数

 

减少调用开销,适用于简单函数调用多次的情况

函数重载

函数缺省参数

 

posted @ 2020-03-11 00:07  wangheng1409  阅读(815)  评论(0编辑  收藏  举报