添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

只有多写代码,才能多遇BUG,才能多多提升。

第一遍学完数据结构,就很少再认真写数据结构代码了,现在写一个算法,实现某个功能,没有一个在实际操作中一次性运行正确。偶尔一两个运气好,修改一两次就能得到正确结果,但是其中的逻辑有时候,还是凭感觉,其实就是一句话,写的代码太少了。

在写程序过程中,总会因为所谓“粗心”忘掉很多东西,比如*,&。而这些东西丢失不容易被发现,而且错误还比较难修改。今天遇到的是 使用了非初始化的局部变量

以前遇到过这种情况,指的是定义一个变量,结构体,对象等,未初始化就进行操作,会报这个错误。还有一种情况就是, 在函数调用过程中,如果参数不是引用调用,那就必须要对其进行初始化,如果是引用调用,就没有影响。我的报错是因为参数丢了“&”符号

int InitSqList(SqList S) 

上面是错误代码,下面是正确代码

int InitSqList(SqList & S) 
只有多写代码,才能多遇BUG,才能多多提升。第一遍学完数据结构,就很少再认真写数据结构代码了,现在写一个算法,实现某个功能,没有一个在实际操作中一次性运行正确。偶尔一两个运气好,修改一两次就能得到正确结果,但是其中的逻辑有时候,还是凭感觉,其实就是一句话,写的代码太少了。报错类型在写程序过程中,总会因为所谓“粗心”忘掉很多东西,比如*,&。而这些东西丢失不容易被发现,而且错误还... // C4700 : 使用 初始化 局部变量 “s” //这是 c++ 的重要准则,凡指针被 使用 ,必先 初始化 指针 //将其改成char s[50];后,就给指针型 变量 s一个 初始化 的机会, //类似数组 初始化 与指针类型数组声明区别,给定具体容量大小 初始化 局部变量 使用 . 在 C 和 C++ ,默认情况下不 初始化 局部变量 初始化 变量 可以包含任何值, 使用 可能导致 定义的行为。 警告 C4700 指几乎总是指示在程序中可能导致不可预知的结果或崩溃的 bug。 微软官方解释 报错 特点 如*,&。这些细小的东西丢失但不容易被发现 报错 原因
C语言中,定义 局部变量 时如果 初始化 ,则值是随机的,这是为什么呢? 定义 局部变量 ,其实就是在栈中通过移动栈指针来给程序提供一个内存空间和这个 局部变量 名绑定。因为这段内存空间在栈上,而栈内存是反复 使用 的(脏的,上次用完没清零的),所以说 使用 栈来实现的 局部变量 定义时如果不显式 初始化 ,值就是脏的。c语言中只有 局部变量 赋初值时,才是随机数,全局 变量 和静态 变量 赋初值时编译器会自动将其 初始化 为0。 局部变量 是分配在堆栈上的,而全局 变量 和静态 变量 是分配在数据段中的。这个跟程序的内存分配是有关系的。