野指针产生的原因与避免方法、调试寻找野指针的方法 “野指针”是代指指向的地址空间或变量无法进行结果预期,或者和原本的使用目的不同,导致程序出core或未按照设计预期运行的情况。“野指针”是很危险的,if无法判断一个指针是正常指针还是“野指针”。有个良好的编程习惯是避免“野指针”的唯一方法。 百度测试工程师面试题 如果程序定义了一个指针,就必须要立即让它 学习中心 任侠 2012-07-19 12886 热度 0评论
sun studio无法解析标识符printf &头文件中有未解析的include 安装了sun studio12.3,当导入现有文件新建项目后,发现出现很多无法解析的错误提示,大致类似如下: sun studio 无法解析标识符printf 头文件中有未解析的include 要获取其他信息,请按住ctrl键并将鼠标移至include指令上 显然这应该是sun studio标准库的问题。那么,在无法确定到底sun studio标准库问题出在哪儿,我们可以使用GNU标准库来进行项目 电脑基础 任侠 2012-07-15 8622 热度 1评论
sizeof()与strlen()函数详解 一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的 学习中心 任侠 2012-07-10 6147 热度 0评论
堆、栈和堆栈内存分配占用的区别 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回 学习中心 任侠 2012-07-10 9595 热度 0评论
去最大最小值后求平均值方法的函数(c语言) 一个用于去掉数组最大值、最小后求平均值的函数,并举了个可执行的小例子。程序数据测试中用到,如此写来,记录于此以备份。 C++代码 #include<stdlib.h> #include<stdio.h> /* *求数组平均数函数 参数: arr - 学习中心 任侠 2011-10-16 11805 热度 2评论
c/C++“读取位置 0x****** 时发生访问冲突”的可能原因 这种错误一般是指访问了不属于自己的内存空间。出现这种错误有几种原因: 1、给一个数组分配了比较小的内存空间,然后又给该数组赋了一个比较大的值,举例说明: char buf; buf = \"C++“读取位置 0x****** 时发生访问冲突”的可能原因C++“读取位置 0x****** 时发生访问冲突”的可能原因\"; 这样才访问buf的时候,就会出现错误 解决方法:给数组分配更大一些的内存空 学习中心 任侠 2011-03-12 4739 热度 0评论
VS2010错误:error C2143: 语法错误 : 缺少“;”(在“类型”的前面) 在VC6.0、DEV-CPP、GCC等下能顺利通过的C程序,在VS2010中总是出现如下错误提示: error C2143: 语法错误 : 缺少“;”(在“类型”的前面) 原因与解决方案: 纯c要求局部变量定义必须在函数或局部空间的开头,然后才能有其他语句。 纯c确实对变量声明的位置有要求,c++却可以随用随定义的。 说明vs是严格执行了纯C的标准。 变量任意定义是c99的标准。 /tc /qst 学习中心 任侠 2011-01-14 23035 热度 3评论
C++/C语言中二进制、八进制、十进制以及十六进制的表示方法 C++/C语言本身支持的三种输入是: 1. 十进制。如23,456; 2. 十六进制,以0x开头。比如0x7a。输出十六进制hex关键字格式化,如cout<<hex<<12。 3. 八进制,以0开头。比如08,9012。输出八进制用oct关键字格式化,如cout<<oct<<12。 如下示例程序: #include<iostream> u 学习中心 任侠 2010-10-24 11950 热度 0评论
多个++i(++i + ++i + ++i)连续相加的结果问题 问题: 如下示例程序: #include<iostream.h> void main() { int i=5; int n = ++i + ++i + ++i; cout<<"n="<<n<<endl; } 程序运行后输出结果为:n=22 这里的n=22是如何计算出来的?很多人都有这个疑问,因为 学习中心 任侠 2010-10-24 5919 热度 0评论
C++中cin.clear() 和 cin.sync() 的使用区别 cin.clear是用来更改cin的错误状态状态标示符,cin.sync是用来清除缓存区的数据流。 如果标示符没有改变那么即使清除了数据流也无法输入。 所以两个需要联合起来使用。 #include #include using namespace std; int main() { int ival; while(1) { cin >> ival; if ( cin.bad()) throw ru 学习中心 任侠 2010-09-24 31142 热度 13评论