关于调试,真的太重要了!!!真的太重要了!!!真的太重要了!!
各位大佬,以及初学者一定要多加练习!!多去调试
调试的重要性:(摘自百度)
调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言。不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件!
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接收了这个局部变量的地址,造成非法访问