C语言调试实用技巧之 2

导言:

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

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

1.1标准:

C语言调试实用技巧之 2_第1张图片

1.2推荐技巧

C语言调试实用技巧之 2_第2张图片

1.2.1assert()//断言

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

需要包含的头文件

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指向的对象
C语言调试实用技巧之 2_第3张图片

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

常见错误

程序运行过程图解:
C语言调试实用技巧之 2_第4张图片

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

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

2.2链接型(LNK)错误

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

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

2.3运行时错误

只能借助于调试解决

结语

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

你可能感兴趣的:(C语言知识点,c语言,开发语言)