C语言调试实用技巧之 2

导言:

今天也给大家介绍一些调试技巧

1.如何写出好(易于调试)的代码

1.1标准:

在这里插入图片描述

1.2推荐技巧

请添加图片描述

1.2.1assert()//断言

用assert代替if语句
提示:assert是宏,不是函数

需要包含的头文件<assert.h>

assert(表达式)
如果表达式为假,程序就会报错:”断言失败“
如:assert(dest != NULL);

提示:

a 在debug版本中,if在任何情况下都会执行,浪费时间

在release版本,assert语句会自动优化掉,所以assert更好

b strcpy函数不考虑目标空间的大小,它只会执行,一旦目标空间过小,程序能编译,只是会崩溃

1.2.2const

1.2.2.1const修饰变量

const位于*的右边

概念:

const修饰的变量,是在语法层面限制了const修改,即无法再改变

警告:

如果想改变的话,可以把其地址取出来,再通过解引用操作改变它。虽然这么做能实现目的,但这是违法操作。

1.2.2.2const修饰指针

const位于的左边
限制的是
p,即p指向的对象
此时无法改变p指向的对象
在这里插入图片描述

关于const的使用的题目可以看我的另一篇文章中的第三题
点击此处跳转

常见错误

程序运行过程图解:
在这里插入图片描述

2.1编译型错误(语法错误)

最好修改的代码。
双击错误提示信息即可找到错误位置

2.2链接型(LNK)错误

格式:“无法解析的…………”

a 头文件没包含
b 符号名写错了
c 没有这个符号

2.3运行时错误

只能借助于调试解决

结语

调试的相关技巧和方法到这里就结束了,我们下次见。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值