首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C语言】调试技巧

相信大家在编写C程序中会遇到很多代码的Bug.所以本篇博客就带大家如何调试C的技巧,这样在遇到有错误的代码,也不必惊慌,只需调试下,Bug就再也不会存在了哈哈哈~隔。  目录 什么是bug? ...优秀的代码 常见的coding技巧  assert代码使用: 什么是bug? ...i = 0; int arr[10] = {1,2,3,4,5,6,7,8,9,10}; for(i=0;i<=12;i++) { printf("hello C\...代码整洁且规范 注释清晰,且通俗易懂(代指写代码的人) 可读性,有效性,可维护性 bug尽量能够达到自己能够预期的范围之内,就是bug少,或者几乎没有bug 文档齐全,不乱去堆放  常见的coding技巧...= '\0') { Count++; *pb++; } return Count; } int main(void) { char arr[20] = "nihao C"; int ret

83820
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言初阶——实用调试技巧

    F11 逐语句调试(会进入函数内部) F11 才是真正意义上的逐步调试,使用F11 可以很仔细的观察到程序的走向,同时F11 能进入函数内部(函数是C语言程序的重要组成部分),因此我们一般使用F10 唤起调试模式...当然VS中还有很多快捷键,比如Ctrl+k+c 注释代码,Ctrl+k+u  取消注释,这里推荐一篇博客,里面介绍了很多快捷键:VS中常用的快捷键_MrLisky的博客-CSDN博客_vs快捷键 ️...反汇编窗口 汇编代码出现于高级语言之前,这种夹杂着机器语言和汇编指令组成的代码比较难懂,但电脑能快速读懂,运行速度是极快的。  ...优秀编码技巧  我们只有养成良好的编码风格,才有可能从源头上避免Bug的产生,比如: 1.代码能正常运行 2.Bug较少 3.三高:代码执行效率高、可读性高、可维护性高 4.注释要言简意赅 5.文档要齐全...优秀的风格见过了,下面就来看看有哪些编程技巧吧!

    27820

    C语言回调函数,提升C技巧必备

    我们都知道,C语言的灵魂是指针,我们经常使用整型指针,字符串指针,结构体指针等。...在C语言中,变量或者函数的声明也是一个大学问,想要了解更多关于声明的话题,可以参考我之前的文章 - C专家编程》读书笔记(1-3章)。这本书的第三章花了整整一章的内容来讲解如何读懂C语言的声明。...所以C语言的设计者们才会设计成又可允许myFun(10)这种形式地调用(这样方便多了,并与数学中的函数形式一样)。 在函数指针变量也可以存入一个数组内。...注意,回调函数并不是C语言特有的,几乎任何语言都有回调函数。在C语言中,我们通过使用函数指针来实现回调函数。...往期推荐 用C语言实现状态机设计模式 stm32可以跑Linux操作系统吗? C语言进阶小技巧,弱符号和弱引用 就今年这情况。。。咱还是留个心眼吧

    1.1K10

    【C语言笔记】操作位的技巧

    位字段的方法可查看往期笔记:【C语言笔记】位域。本文介绍使用按位运算符操作位的方法。下表为几种位操作符及其含义: ? 二、不改变其他位的值的状况下,对某几个位进行设值。...在实际编程中,常改写为: TEST |= 0x01; 这种写法可以一定程度上简化代码,是 C 语言常用的一种编程风格。...三、~取反操作使用技巧 SR寄存器的每一位都代表一个状态,某个时刻我们希望去设置某一位的值为0,同时其他位都保留为1,简单的作法是直接给寄存器设置一个值: TIMx->SR = 0xFFF7; 这样的作法设置第...TIM_FLAG_CC4OF ((uint16_t)0x1000) 即设置SR第3位为0时可设置为: TIMx->SR = (uint16_t)~TIM_FLAG_CC3; 以上就是关于位操作在嵌入式编程中的一些技巧

    1.9K20

    【C语言初阶】掌握C语言调试技巧,迈向高效编程的阶梯

    前言:在C语言的编程世界中,编写出能够正确运行且高效执行的代码是每一位程序员的追求。然而,在复杂的逻辑和多变的环境中,代码错误和性能瓶颈几乎是不可避免的。这时,掌握实用的调试技巧就显得尤为重要。...它要求我们不仅要熟悉C语言的语法和特性,还要掌握一系列高效的调试工具和技巧。...从简单的打印语句到复杂的调试器使用,从静态代码分析到动态性能监测,每一步都蕴含着提升编程能力的机会 本文旨在为广大C语言学习者提供一套实用的调试技巧指南。...总结 在探索C语言编程的征途中,调试技巧无疑是我们最宝贵的伙伴之一。...这些能力不仅让我们在编程领域更加游刃有余,也为我们的人生道路增添了无限可能 掌握C语言调试技巧,意味着我们能够更加自信地面对复杂的编程挑战,更加高效地解决代码中的难题。

    9810

    【Linux笔记】Linux下编译C语言程序

    在上一篇笔记中有分享Linux下的vi/vim编辑器的使用方法(【Linux笔记】Vi/Vim编辑器),现在我们就可以使用vi/vim编辑器编写C代码了。那么写完代码该怎么进行编译呢?...关于在Windows命令行下编译C程序的方法可查看往期笔记:【C语言笔记】windows命令行下编译C程序、【C语言笔记】使用notepad++、MinGW来开发C程序。...首先,使用命令gcc -v查看当前的Linux发行版是否有安装gcc编译器(PS:本文使用的Linux发行版是红帽6): ? 使用vi/vim编辑器写代码并保存为hello.c: ?...在Linux下进行C语言编程的学习可能会增加学习的成本,但是从长远来看仍然是有必要的。...若不想安装Linux系统,也想适应一下Linux环境,则可参考往期笔记:【C语言笔记】Windows下体验Linux环境。

    12.5K10

    关于C语言struct的特殊扩展技巧

    《Unix/Linux编程实践教程》中P69页,有写道,dirent结构中成员d_name用于存放文件名。注意在此系统中d_name被定义为只有一个元素的数组,这是如何做到的能?...对此,我也一直十分困惑,直到看到《深度探索C++对象模型》P19才终于明白。...mumble *pmumbl = (struct mumble*) malloc( sizeof (struct mumble) +strlen(string) +1); 到这里,应该已经很清楚了,这个c语言的技巧关键在于这个数组位于...特别注意:这种技巧只存在于C语言的struct中,如果是C++的class,特别是派生类定义了virtual functions等,可能能顺利转化,也可能不行。...所以C++中应该避免这种技巧,使用STL的vector等库实现可变数组。

    44510

    linux下的C语言开发

    大家好,又见面了,我是全栈君 在很多人的眼里,C语言和linux常常是分不开的。这其中的原因很多,其中最重要的一部分我认为是linux本身就是C语言的杰出作品。...当然,linux操作系统本身对C语言的支持也是相当到位的。...作为一个真正的程序员来说,如果没有在linux下面用C语言编写过完整的程序,那么只能说他对C语言本身的理解还相关肤浅,对系统本身的认识也不够到位。...如果还没有过Linux编程经验的朋友可以首先在自己的pc上面安装一个虚拟机,然后就可以在shell下面编写自己的C语言代码了。...如果你看到了,那么恭喜你,你已经可以开始linux的c语言编程之旅了。 当然,我们不会满足于这么简单的打印功能。

    5.9K30

    分享几个超级实用的C语言小技巧!

    1 在嵌入式开发中,C语言的一些小技巧可以帮我们提高开发效率,事半功倍。 C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。...但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。...这在Mozilla的源码中经常用到,我就是在那时学到这个技巧的。例如,在我去年夏天工作的那个项目中,我们有一个针对每个命令进行标记的宏列表。...05 编译时断言 这其实是使用C语言的宏来实现的非常有“创意”的一个功能。有些时候,特别是在进行内核编程时,在编译时就能够进行条件检查的断言,而不是在运行时进行,这非常有用。...used e.g. in a structure * initializer (or wherever else comma expressions aren't permitted). */ /* Linux

    55210

    【C语言】预处理&&编译链接&&调试技巧详解

    正常终止main函数;也有可能是意外终止 3.实用调试技巧 3.1 什么是bug? 作为程序员,每天被bug支配着,当然应该了解下对手了。...使用assert(断言) 尽量使用const 养成良好的编码风格 添加必要的注释 避免编码的陷阱 3.6.1.1 assert assert函数是C语言标准库中的一个函数,函数原型为...表面含义,编程就是以各式的编程语言来编译代码,类似于英语,也是一门语言。...那么作为语言,英语有诸多的语法,那么编程语言同样有一定的语法。毕竟写出来的代码是需要让机器看懂的。 编程思维 那么思维是什么呢,简单说就是做一件事情,脑海里要能够搭建起一个简单的框架,然后再填填补补。...举例 For example,这是一段利用C语言写出最简单的逆序输出,显然,很通俗易懂,但是当输入n个内容,这段代码显然不适用了。

    32410
    领券