C语言高质量编程之assert()和const

news/2024/10/23 4:58:58/

目录

编程中常见的错误

assert()

const


编程中常见的错误

        在编程中我们通常会遇到三种错误形式,分别是:编译型错误,链接型错误,运行时错误。

编译型错误:

        在编译阶段发生的错误,绝大多数情况是由语法错误导致,根据错误提示信息可以轻松找到错误并更正,处理起来相对简单。

链接型错误:

        看错误提示信息,主要在代码中找到错误信息中的标识符,然后定位问题所在。一般是标识符名不存在或者拼写错误,处理起来也不太难。

运行时错误:

        运行时错误通常又称逻辑错误,是最难找到并处理的一种错误。

        对于一个程序员来说,可能写代码的时间只占20%,调试问题的时间占据了80%,因此高质量的编程习惯是非常重要的,它能帮助我们更快更准的发现并解决问题。而assert() const 可以显著提升我们的代码质量,所以掌握它们的用法并熟练运用到编程中是十分重要的。

assert()

        assert() 是一个,用于在运行时检查一个条件是否为真,如果条件不满足,则运行时将终止程序的执行并输出一条错误信息,使用时需要包含它的头文件<assert.h> 。assert()也被称为断言。

运用assert() 模拟实现库函数 strcpy()

const

        const 是一个关键字,它的功能是使变量具有常属性,即不能被修改。

在C语言中,即使使用const修饰,变量本质上依旧是变量,且可以通过指针间接修改:

这种行为会造成权限的放大,在编程中要避免这种情况!

        C语言修饰指针有两种情况:在 * 左边和在 * 右边:

在 * 左边:

在 * 右边:

左右都有:

运用const改进模拟实现的库函数 strcpy()


http://www.ppmy.cn/news/1418655.html

相关文章

The C programming language (second edition,KR) exercise(CHAPTER 2)

E x c e r c i s e 2 − 1 Excercise\quad 2-1 Excercise2−1&#xff1a;输出结果如图1和图2所示&#xff0c;这道练习题需要文章1和文章2的知识。 #include <stdio.h> #include <limits.h>float getFloat(char sign, unsigned char exp, unsigned mantissa); do…

赋能未来:AI技术革新中的创业契机

目录 前言 一、行业解决方案 1、行业参考说明 2、操作步骤建议 二、智能产品和服务 1、行业参考说明 2、操作步骤建议 三、教育和培训 1、行业参考说明 2、操作步骤建议 总结 前言 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;越来越多的创业…

多输入多输出 | Matlab实现XGboost多输入多输出预测

多输入多输出 | Matlab实现XGboost多输入多输出预测 目录 多输入多输出 | Matlab实现XGboost多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现XGboost多输入多输出预测 1.data为数据集&#xff0c;10个输入特征&#xff0c;3个输出变量…

2024.4.16 Python爬虫复习day04

day04_爬取图片和数据 1.爬虫入门 知识点: 网络爬虫 : &#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另…

大语言模型总结整理(不定期更新)

《【快捷部署】016_Ollama&#xff08;CPU only版&#xff09;》 介绍了如何一键快捷部署Ollama&#xff0c;今天就来看一下受欢迎的模型。 模型简介gemmaGemma是由谷歌及其DeepMind团队开发的一个新的开放模型。参数&#xff1a;2B&#xff08;1.6GB&#xff09;、7B&#xff…

基于51单片机的无线病床呼叫系统设计—LCD1602显示

基于51单片机的无线病床呼叫系统 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 1.病人按下按键&#xff0c;LCD1602显示对应的床位号&#xff1b; 2.多人同时呼叫&#xff0c;显示屏同时显示&#xf…

Python根据主播直播时间段判定订单销售额归属

写在前面&#xff1a;最近在群里看到一个这样的直播电商的场景觉得还是挺有趣的&#xff0c;于是就想用Python来实现。 需求描述&#xff1a;根据主播直播时间段结合销售订单的付款时间判断所属销售的归属 生成主播在线直播时间段数据 from datetime import datetime, time…

【C++】模拟list

list的模拟真的很震撼&#xff0c;第一次学习时给我幼小的心灵留下了极大地冲击 接下来我们一起看看list模拟究竟是怎样一回事 目录 节点的封装&#xff1a;list类的实现&#xff1a;私有成员变量&#xff1a;构造函数&#xff1a;push_back && pop_back: 迭代器类的实…