从代码角度,带你手把手调试(下)

简介: 从代码角度,带你手把手调试(下)

关于调试,真的太重要了!!!真的太重要了!!!真的太重要了!!

各位大佬,以及初学者一定要多加练习!!多去调试

调试的重要性:(摘自百度)


调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件!



8.常见的错误


编译错误-语法错误

image.png


链接错误

1.函数未定义

image.png

2.符号名写错了(未定义标识符)

image.png


编译,链接,运行

image.png


9.常见的代码技巧

1.使用assert进行断言->防止空指针 引用头文件#include<assert.h>
2.尽量使用const修饰 -如某些字符串不需要做更改的就用const修饰
3.养成良好的编码风格
4.添加必要的注释
5.避免编码的陷阱
复制代码

10.NULL null Null的区别

读文档时:
NULL : 空指针
Null - \0
null - \0
复制代码

15.关于函数返回

//err

int* test()
{
    int a = 10;
    return &a;
}
int main()
{
    int *ret = test();
    *ret = 0;
    return 0;
}
复制代码


原因:a为局部变量,在栈区开辟.当函数返回时,a空间销毁,即a空间的地址已经还给操作系统了,但是ret接收了这个局部变量的地址,造成非法访问


相关文章
|
6月前
|
缓存 前端开发 JavaScript
【第22期】 一文读懂前端调试利器whistle
【第22期】 一文读懂前端调试利器whistle
123 0
|
程序员 编译器 Linux
程序员进阶之路:程序环境和预处理(二)
程序员进阶之路:程序环境和预处理(二)
32 0
|
2月前
|
安全 程序员 uml
程序员编写技术文章需要的四个辅助神器 ,强烈建议收藏 !
编写技术文章是程序员分享经验和记录学习成果的重要方式。 为了让写作变得更轻松,有许多实用工具可以帮助提升效率,比如 Markdown 编辑器、画图工具等。 接下来,笔者将介绍四款简单实用的工具,帮助程序员更轻松地编写技术文章。
143 79
程序员编写技术文章需要的四个辅助神器 ,强烈建议收藏 !
|
6月前
|
程序员 编译器 C语言
编程最重要的技术之一 — 调试(以C语言代码为例)
编程最重要的技术之一 — 调试(以C语言代码为例)
101 0
|
存储 自然语言处理 程序员
程序员进阶之路:程序环境和预处理(一)
程序员进阶之路:程序环境和预处理(一)
64 0
|
程序员 C语言 C++
编程最重要的技术—调试(以C语言代码为例)
编程最重要的技术—调试(以C语言代码为例)
|
存储 NoSQL Ubuntu
调试基础知识及原理
调试基础知识及原理
124 0
|
存储 JSON 前端开发
案例开发-前端开发及调试(二)| 学习笔记
快速学习案例开发-前端开发及调试。
案例开发-前端开发及调试(二)| 学习笔记
|
JavaScript 前端开发 Java
案例开发-前端开发及调试(一)| 学习笔记
快速学习案例开发-前端开发及调试。
案例开发-前端开发及调试(一)| 学习笔记
|
IDE 程序员 Go
如何借助工具快速生成代码?初学者容易踩的坑有哪些?
这篇内容继续分享重点内容:如何借助工具快速生成代码?初学者容易踩的坑有哪些?
170 0
如何借助工具快速生成代码?初学者容易踩的坑有哪些?