嵌入式学习day13

 关系运算 
   > >= < <= == != 
   p>q
 
 p-q  
     前提: 同一类型的指针 
     表示之间差了几个基类型 
 p+q  //指针不能做加法运算 
 
 迭代
                    b
                    e     
 1 2 3 4 5 6 7 8 9 10
 
mid = begin + (e-b+1)/2;

二分查找 用递归方式实现 

     
int sum(int n)
{
   if (n == 1)
   {
      return 1;
   }else 
   {
     return sum(n-1) + n;
   }
}


sum(100) =  sum(99) + 100;
               |----- sum(98) + 99
               
递归:  //hanoi 


二分查找

快速排序法:

1.选一个基准值a[0]

2.从右边找比基准值小的,作为end

3.从左边找比基准值大的,作为begin

4.交换找到的值

5.重复2-4步骤,直到begin与end相遇

6。此时将相遇位置上的值与基准值交换

7.针对小、大的一部分,分别继续快速排序递归调用

指针 + 一维字符型数组
char s[] = "hello";

char *p = s; //s数组名 --- 代表 数组首元素的地址 
             //s[0]  --->类型 char型
             //&s[0] --->char * //地址类型 

int puts(const char *s); 
const char * s;
const int a; //只读变量 
int a = 10;
const int *p = &a; //表示 基类型 为只读 
p --- 指针变量 --本身的类型 int * 
a --- int型变量 --本身类型 int 
   
p = &a; 

const int *p = &a; 
int const *p = &a; //就近原则 -- 离谁近,就限定谁的  

int *const p = &a;  //限定p为只读 
const int * const p = &a;  //p不能被修改,指向的目标类型不能被修改 
                          //(是不能通过*p) 
   
   
   
    int puts(const char *s)
    {
    }//const char *s --在函数里面 不能通过*s修改到外面的数据 

    
    好处:
    1.可以接收 字符数组名   //char *
      也可以接收 字符串常量 //const char *
      提高了参数的适用性 
    2.避免了 可能出现的修改的操作 
      可以将 运行时的错误,提前到 编译时发现 

const char * p 可以用来保存字符串常量的地址 
 

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值