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

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

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

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

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


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



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接收了这个局部变量的地址,造成非法访问


相关文章
|
8月前
|
缓存 前端开发 JavaScript
【第22期】 一文读懂前端调试利器whistle
【第22期】 一文读懂前端调试利器whistle
146 0
|
8月前
|
运维 安全 测试技术
测试基础 学习测试你必须要知道的基础知识
测试基础 学习测试你必须要知道的基础知识
46 3
|
8月前
|
测试技术
面试题8: 如何确定测试需求的关键场景和细节?
面试题8: 如何确定测试需求的关键场景和细节?
|
8月前
|
缓存
Quarto 入门教程 (3):细节设置
Quarto 入门教程 (3):细节设置
260 1
|
测试技术 Shell
软件测试实验六 移动App测试参考案例
软件测试实验六 移动App测试参考案例
109 0
|
程序员 C语言
实用调试技巧【下篇】
实用调试技巧【下篇】
90 0
|
存储 NoSQL Ubuntu
调试基础知识及原理
调试基础知识及原理
133 0
|
JavaScript 前端开发 Java
案例开发-前端开发及调试(一)| 学习笔记
快速学习案例开发-前端开发及调试。
案例开发-前端开发及调试(一)| 学习笔记
|
存储 JSON 前端开发
案例开发-前端开发及调试(二)| 学习笔记
快速学习案例开发-前端开发及调试。
案例开发-前端开发及调试(二)| 学习笔记