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

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

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

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


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



8.常见的错误


编译错误-语法错误

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


链接错误

1.函数未定义

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

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

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


编译,链接,运行

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


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


上一篇:C语言03-函数(上)


下一篇:操作符这块,你可得把握住(中)