目录
编程中常见的错误
assert()
const
编程中常见的错误
在编程中我们通常会遇到三种错误形式,分别是:编译型错误,链接型错误,运行时错误。
编译型错误:
在编译阶段发生的错误,绝大多数情况是由语法错误导致,根据错误提示信息可以轻松找到错误并更正,处理起来相对简单。
链接型错误:
看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。一般是标识符名不存在或者拼写错误,处理起来也不太难。
运行时错误:
运行时错误通常又称逻辑错误,是最难找到并处理的一种错误。
对于一个程序员来说,可能写代码的时间只占20%,调试问题的时间占据了80%,因此高质量的编程习惯是非常重要的,它能帮助我们更快更准的发现并解决问题。而assert() 和const 可以显著提升我们的代码质量,所以掌握它们的用法并熟练运用到编程中是十分重要的。
assert()
assert() 是一个宏,用于在运行时检查一个条件是否为真,如果条件不满足,则运行时将终止程序的执行并输出一条错误信息,使用时需要包含它的头文件<assert.h> 。assert()也被称为断言。
运用assert() 模拟实现库函数 strcpy() :
const
const 是一个关键字,它的功能是使变量具有常属性,即不能被修改。
在C语言中,即使使用const修饰,变量本质上依旧是变量,且可以通过指针间接修改:
这种行为会造成权限的放大,在编程中要避免这种情况!
C语言修饰指针有两种情况:在 * 左边和在 * 右边:
在 * 左边:
在 * 右边:
左右都有:
运用const改进模拟实现的库函数 strcpy() :