随笔分类 -  C/C++

1 2 3 下一页
令人费解的编译错误:error C2144: syntax error : 'double' should be preceded by ';' 和 error C3646: ';' : unknown override specifier
摘要:今天编程莫名其妙的出现了以下两个编译错误:1>e:\日常学习\plsa_nmf\plsa_nmf\sutil.h(10): error C3646: ';' : unknown override specifier1>e:\日常学习\plsa_nmf\plsa_nmf\sutil.h(10): error C2144: syntax error : 'void' should be preceded by ';'或者显示成1>e:\日常学习\plsa_nmf\plsa_nmf\query.cpp(17): error C3646 阅读全文
posted @ 2011-11-30 15:21 COS 阅读(5153) 评论(0) 推荐(1)
诡异难解决的错误:Windows已在xxx.exe中触发一个断点
摘要:windows已在xxx.exe中触发一个断点,其原因可能是堆被损坏,这说明xx.exe中或它所加载的任何DLL中有bug。 原因也可能是用户在xx.exe具有焦点时按下了F12。输出窗口可能提供了更多诊断信息 。 当碰到此种错误的时候,基本上是因为我们在编写程序的时候,在处理数组或者指针的时候出现了越界(最可能)或者超长的情况,从而导致了对栈堆的损坏。 我自己的程序就是因为一个很隐藏的变量没有置零造成的,在每次重用cor空间时,correlation记得置为0了,而cor_index却没有set 为 0.因而随着多次重用,cor_index的值越来越大,从而在访问cor[cor_... 阅读全文
posted @ 2011-11-09 23:34 COS 阅读(13725) 评论(0) 推荐(3)
C文件操作fopen打开标记设置问题【学习笔记】
摘要:函数原型:FILE * fopen(const char * path,const char * mode); 返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno 中。 一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。 参数说明: 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r 以只读方式打开文件,该文件必须存在。 r+ 以可读写方式打开... 阅读全文
posted @ 2011-11-08 10:32 COS 阅读(502) 评论(0) 推荐(1)
C内存分配问题(内存达人请进)【转】
摘要:#include <stdio.h>void main(){int a = 0;int b = 0;int *c = &a;int *m = new(int);int *n = new(int);int *k = new(int);int *l = new(int);printf("在栈中分配存储空间\n");printf("%d\n%d\n%d\n%d\n",&a,&b,c,&c);printf("在堆中分配存储空间\n");printf("%d\n%d\n%d\n%d\n&qu 阅读全文
posted @ 2011-10-30 23:24 COS 阅读(207) 评论(0) 推荐(1)
C语言内存分配问题和C语言中的内存【转】
摘要:C语言内存分配问题1、C中内存分为四个区栈:用来存放函数的形参和函数内的局部变量。由编译器分配空间,在函数执行完后由编译器自动释放。堆:用来存放由动态分配函数(如malloc)分配的空间。是由程序员自己手动分配的,并且必须由程序员使用free释放。如果忘记用free释放,会导致所分配的空间一直占着不放,导致内存泄露。全局局:用来存放全局变量和静态变量。存在于程序的整个运行期间,是由编译器分配和释放的。文字常量区:例如char *c = “123456”;则”123456”为文字常量,存放于文字常量区。也由编译器控制分配和释放。程序代码区:用来存放程序的二进制代码。例子(一)int a = 0; 阅读全文
posted @ 2011-10-30 23:21 COS 阅读(569) 评论(1) 推荐(2)
c语言内存操作函数汇总【转】
摘要:一、malloc/calloc名称:Malloc/calloc功能:动态内存分配函数头文件:#include<stdlib.h>函数原形:void*malloc(size_tsize);void*calloc(size_tnum,size_tsize);参数:size分配内存块的大小num 分配内存块的个数返回值:成功返回分配内存块的首地址,失败返回NULL.malloc和calloc都可以分配内存区,但malloc一次只能申请一个内存区,calloc一次可以申请多个内存区.另外calloc会把分配来的内存区初试化为0,malloc不会进行初始化.#include<stdio 阅读全文
posted @ 2011-10-30 23:20 COS 阅读(382) 评论(0) 推荐(1)
内存分配方式与变量的生存周期【转】
摘要:先上一段测试程序:char *aa() { char *p = malloc(10); // 动态分配,"hello" 存于" 堆"(heap) p[0] = 'h'; p[1] = 'e'; p[2] = 'l'; p[3] = 'l'; p[4] = 'o'; p[5] = '/0'; printf("sub aa pointer: %p/n", p); printf("sub aa content: %s/n", 阅读全文
posted @ 2011-10-30 23:15 COS 阅读(294) 评论(0) 推荐(1)
C++动态内存创建与内存管理学习笔记【转】
摘要:题记:学习C++的这一段时间中,在网络上获益颇多,在此感谢各位提问者与热心的解答者,尤其是那些认真的解答者。本人由于能力有限,不喜欢写任何东西发贴,即使是问题也只是搜索解决而已。最近看inside the c++ object model,发现很有困难,因此觉得有必要将动态内存创建,继承与多态等方面深入理解。这就是本贴的来由,文章有点罗嗦冗长,如有感兴趣者浏览并对您有稍微一点帮助,那即是本人无限的荣幸,同时希望各位能够给出一些有益的建议(本人邮件:danielswjtu@eyou.com),在此表示感谢。 本文内容都摘自各出版物,稍微加以排列组合而已,同时也只是初步归纳。相关参考文献见... 阅读全文
posted @ 2011-10-30 23:13 COS 阅读(326) 评论(0) 推荐(1)
未处理的异常:0xC0000005:读取位置0xabababab时发生访问冲突
摘要:一般情况是指针访问越界,内存越界,当发生这个错误的时候,需要检查所有的出现指针访问,内存处理,包括内存分配,扩展,释放等等。 阅读全文
posted @ 2011-10-30 20:04 COS 阅读(3446) 评论(0) 推荐(1)
C++动态分配内存【转】
摘要:静态与动态内存分配的两个主要区别是: 1、静态对象是有名字的变量,我们直接对其进行操作。而动态对象是没有名字的变量,我们通过指针间接地对它进行操作。 2、静态对象的分配与释放由编译器自动处理。程序员需要理解这一点,但不需要做任何事情。相反,动态对象的分配与释放, 必须由程序员显示地管理,相对来说比较 容易出错,它通过new和delete两个表达式来完成。对象的动态分派可通过new表达式的两个版本之一来完成。第一个版本用于分配特定类型的单个对象 例如: int *pint = new int(1024); 表达式返回对象在内存中的地址。接着,这个地址被用来初始化指针对象pint。 new表达式的 阅读全文
posted @ 2011-10-30 16:21 COS 阅读(197) 评论(0) 推荐(1)
C动态内存分配几个函数简单介绍【转】
摘要:calloc(), malloc(), realloc(), free()void *calloc(size_t nobj, size_t size);分配足够的内存给nobj个大小为size的对象组成的数组, 并返回指向所分配区域的第一个字节的指针;若内存不够,则返回NULL. 该空间的初始化大小为0字节.char *p = (char *) calloc(100, sizeof(char));void *malloc(size_t size);分配足够的内存给大小为size的对象, 并返回指向所分配区域的第一个字节的指针;若内存不够,则返回NULL. 不对分配的空间进行初始化.char * 阅读全文
posted @ 2011-10-30 16:16 COS 阅读(329) 评论(0) 推荐(1)
C语言面试题汇总(华为公司) 【转】
摘要:这是从别人博客上看到的,个人觉得有些用,内容比较多,以后抽时间看看。C语言面试题总汇 4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。 8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性9. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈10. 什么是平衡二叉树?左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不 阅读全文
posted @ 2011-10-29 21:04 COS 阅读(552) 评论(0) 推荐(1)
LinuxC函数库详解词典(转)
摘要:From:http://baike.baidu.com/view/1996330.htm百科名片本书精选381个Linux指令、1729个常用操作范例,并提供3种指令索引,满足全方位学习需求。本书收集Linux C常用的函数,对每一个函数皆提供适用版本、函数原型、详细的函数说明、丰富的范例程序以及相关的参考函数,以统一的架构呈现,让Linux C用户在短时间内找到需要的函数、了解函数的正确使用方式,并成功地将范例应用在实际的程序设计上。目录内容提要编辑推荐目录 作者:徐千洋 ISBN:10位[7111230671] 13位[9787111230670] 出版社:机械工业出版社 出... 阅读全文
posted @ 2011-09-30 10:21 COS 阅读(929) 评论(0) 推荐(0)
字符串拷贝和内存拷贝函数(转)
摘要:strcpy(拷贝字符串) 定义函数:char *strcpy( char *dest, const char *src );strcpy()函数只能拷贝字符串。strcpy()函数将源字符串src的每个字节拷贝到目的字符串dest中,src字符串末尾的'/0'也被拷贝过去。strcpy()函数返回参数dest的起始地址。如果参数dest所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况(程序员必须保证目标字符数组的空间足够容纳需要复制的字符串。如果src字符串比dest字符串长,多余的字符仍将被复制,它们将覆盖原先存储于dest数组后面的内存 阅读全文
posted @ 2011-09-30 10:07 COS 阅读(814) 评论(0) 推荐(1)
STL vector用法介绍 (转)
摘要:介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在 阅读全文
posted @ 2011-07-30 22:02 COS 阅读(453) 评论(0) 推荐(0)
使用ifstream和getline读取文件内容[c++]
摘要:假设有一个叫 data.txt 的文件, 它包含以下内容: Fry:OneJilliondollars.[Everyonegasps.]Auctioneer:Sir,that'snotanumber.数据读取,测试。以下就是基于 data.txt 的数据读取操作:#include<iostream>#include<fstream>#include<string>usingnamespacestd;//输出空行voidOutPutAnEmptyLine(){cout<<"\n";}//读取方式:逐词读取,词之间用空格区 阅读全文
posted @ 2011-07-30 21:46 COS 阅读(736) 评论(0) 推荐(0)
cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(转)
摘要:学C++的时候,这几个输入函数弄的有点迷糊;这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息;1、cin1、cin.get()2、cin.getline()3、getline()4、gets()5、getchar()1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字:#include <iostream>using namespace std;main (){int a,b;cin>>a>>b;cout<<a+b<<e 阅读全文
posted @ 2011-07-30 21:39 COS 阅读(498) 评论(0) 推荐(0)
GSL - GNU Scientific Library
摘要:IntroductionThe GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are 阅读全文
posted @ 2011-07-06 18:04 COS 阅读(518) 评论(0) 推荐(1)
使用指针时的“陷阱”
摘要:“C语言诡异离奇,陷阱重重,却获得了巨大成功!”——C语言之父Dennis M. Ritchie。Ritchie大师的这句话体现了C语言的灵活性以及广泛的使用,但也揭示了C是一种在应用时要时刻注意自己行为的语言。C的设计哲学还是那句话:使用C的程序员应该知道自己在干什么。有时用C写的程序会出一些莫名其妙的错误,看似根源难寻,但仔细探究会发现很多错误的原因是概念不清。在我们经常掉进去的这些“陷阱”中,围绕着指针的数量为最。这一讲将对使用指针时遇到的一些问题做出分析,以避免在日后落入此类“陷阱”之中。1.指针与字符串常量在第二讲指针的初始化中提到可以将一个字符串常量赋给一个字符指针。但有没有朋友想 阅读全文
posted @ 2011-06-03 10:39 COS 阅读(782) 评论(0) 推荐(3)
C++高级主题之复制构造函数
摘要:看看自己对复制构造函数到底了解多少~也许你可以从中学到一些。 阅读全文
posted @ 2011-05-19 22:39 COS 阅读(592) 评论(0) 推荐(1)

1 2 3 下一页