2021-10-24 断言(asset)应用

69 篇文章 3 订阅
本文介绍了C语言中的断言(assert)和const关键字的用法。断言用于在调试阶段检查程序状态,如果表达式为假则程序崩溃并显示错误位置。const用于定义常量,修饰的变量不可修改。同时,文章探讨了const修饰指针时的规则以及权限传递原则。
摘要由CSDN通过智能技术生成

1. C中断言(assert)

(1) 断言(assert) : 断定一件事一定成功;
(2) assert(表达式) : 如果表达式为真,则无事发生;如果表达式为假,系统崩溃(崩溃后会显示在那个文件的哪一行代码)
(3) 断言必须加上必要的头文件:#include<assert.h>
(4) assert:对于Debug(开发者版本)版本,写的越多越好,这样的话会尽早找出程序中的问题,但对于release版本来说,看不见,系统默认没有。
(5) 使用时,需要加if判断和断言配套使用,并且断言和if顺序不能改变,断言在if之前。

2. const

(1) const定义常变量,修饰的变量不能修改(只读)

例如:const  int  ca=10;

           ca=20;   //error

(2) 内置数据类型对于const透明

例如: int  const  cb = 10;  //等同于const  int  cb = 10;

            cb = 20;   //error\

 即const写int的左边和右边是等价的

(3) const只能修饰直接右边

例如:  int  a = 10; int  b = 20;

             const  int  *p1 = &a;

             p1 = &b;  

             *p1 = 100;  //error,因为*p1之前有const修饰

              int  const  *p2 = &a;   //等同于p1

              int  *const  p2 = &a;

              p2 = &b; //error ,const修饰p2

(4) 权限可以等同传递或者缩小传递,但不能放大。

例如:  int  a = 10; int  b = 20;

     const  int  ca = 30;   const  int  cb = 40; 
     int  *p1 = &a;    //true
     int  *p2 = &ca;   //error
    const  int  *p3 = &a;    //true
    const  int  *p4 = &ca;    //true
    int  *const  p5 = &a;       //true
    int  *const  p6 = &ca;      //error
    const   int  *const p7= &a;    //true

     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值