随笔分类 -  C/C++基础

学习C语言的同时,增加用C来描述算法的能力。C语言尽量在Linux上写。
摘要:原文转载地址:http://see.xidian.edu.cn/cpp/html/476.html在原文的基础上增加自己的思想作为自己的修改指针数组和数组指针的内存布局初学者总是分不出指针数组与数组指针的区别。其实很好理解:指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决... 阅读全文
posted @ 2014-12-05 10:42 stemon 阅读(275) 评论(0) 推荐(0)
摘要:原文转载地址:http://see.xidian.edu.cn/cpp/html/475.html在原文的基础上增加自己的想法作为修改很多初学者弄不清指针和数组到底有什么样的关系。我现在就告诉你:他们之间没有任何关系!只是他们经常穿着相似的衣服来逗你玩罢了。指针就是指针,指针变量在32 位系统下,永... 阅读全文
posted @ 2014-12-04 15:24 stemon 阅读(261) 评论(0) 推荐(0)
摘要:上一个博客我们得到了一个结论:指针和数组根本就是两个完全不一样的东西。只是它们都可以“以指针形式”或“以下标形式”进行访问。一个是完全的匿名访问,一个是典型的具名+匿名访问。一定要注意的是这个“以XXX 的形式的访问”这种表达方式。下面就说说两种东西在“以指针形式”访问和“以下标形式”访问的两种情况... 阅读全文
posted @ 2014-12-03 23:00 stemon 阅读(276) 评论(0) 推荐(0)
摘要:本文转载地址:http://www.cnblogs.com/dolphin0520/archive/2011/11/09/2242138.html在原文的基础上加入自己的想法作为修改。指针是C/C++的精华,而指针和数组又是一对欢喜冤家,很多时候我们并不能很好的区分指针和数组,对于刚毕业的计算机系的... 阅读全文
posted @ 2014-12-03 16:55 stemon 阅读(372) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/stemon/p/4013264.html已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数。1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体1 typedef s... 阅读全文
posted @ 2014-10-09 14:23 stemon 阅读(488) 评论(0) 推荐(0)
摘要:strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,win7+vc6.0,一个极其平民化的实验环境。本文中使用的源代码大部分来自于网络,稍加修改作为例证。当然,本人水平... 阅读全文
posted @ 2014-10-09 14:18 stemon 阅读(3986) 评论(0) 推荐(0)
摘要:什么是CSV文件CSV是 Comma-separated values (逗号分隔值)的首字母缩写,它通常是以逗号且不仅限于逗号分隔各个值,我们都叫他CSV。看下面的例子:China, Shanghai, Pudong, Zhang San, 200000, 1234567BMW; GER; 300... 阅读全文
posted @ 2014-10-09 11:29 stemon 阅读(1486) 评论(0) 推荐(0)
摘要:推箱子源代码初步: 1 #include 2 #include 3 #include 4 #define boolean int 5 #define true 1 6 #define false 0 7 8 #define ROWS 10 9 //之所以定义为11,是因为字符串的... 阅读全文
posted @ 2014-10-08 17:37 stemon 阅读(1103) 评论(0) 推荐(0)
摘要:在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事。下面我就简单的把他们的区别介绍如下:变量的声明有两种情况: (1)一种是需要建立存储空间的(定义、声明)。例如:int a在声明的时候就已经建立了存储空间。(2)另一种是不需... 阅读全文
posted @ 2014-09-29 17:45 stemon 阅读(1785) 评论(0) 推荐(0)
摘要:先了解这里的相关知识:http://www.cnblogs.com/stemon/p/4000468.html头文件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲... 阅读全文
posted @ 2014-09-29 16:50 stemon 阅读(1394) 评论(0) 推荐(1)
摘要:#ifndef、(或者#ifndef)、#def、#endif等宏这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满... 阅读全文
posted @ 2014-09-29 16:15 stemon 阅读(3267) 评论(0) 推荐(0)
摘要:务必提前预读这里的内容:http://www.cnblogs.com/stemon/p/3999844.html回到cpp文件与头文件各写什么内容的话题上:理论上来说cpp文件与头文件里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头文件中写函数体实现,任何一个cpp文件包含此头文件就可... 阅读全文
posted @ 2014-09-29 14:59 stemon 阅读(4590) 评论(0) 推荐(0)
摘要:基本信息:可以无限读取,不会判断上限,以回车结束读取(这个换行符也被读取了),所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。函数原型:char*gets(char*buffer);功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buf... 阅读全文
posted @ 2014-09-23 22:41 stemon 阅读(445) 评论(0) 推荐(0)
摘要:getchar()1.从缓冲区读走一个字符,相当于清除缓冲区2.前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完s[i]的值后按回车键所致),所以如果不在此加一个getchar()把这个回车符取走的话,gets()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,... 阅读全文
posted @ 2014-09-23 19:51 stemon 阅读(963) 评论(0) 推荐(0)
摘要:struct和typedef struct分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;... 阅读全文
posted @ 2014-09-17 09:12 stemon 阅读(197) 评论(0) 推荐(0)
摘要:Dos的设计是基于16位的CPU的,也就是CPU中的每个寄存器(Register)只有16位,只能存放0-65535(64K)的值。为了能访问大于64K的内存,人们用了分段的方法,用两个16位的数来记录逻辑上地址,第一个是段值(Segment),第二个是偏移量(Offset),写起来的格式一般是段值... 阅读全文
posted @ 2014-09-16 09:28 stemon 阅读(1129) 评论(0) 推荐(0)
摘要:前沿准备了好几天,终于开始了,不管怎样,接下来的这个月一定把这本书很好的啃下来。当然OpenCV可以在很多的IDE下安装与配置,我这里就只在VS2010和VC6.0下安装配置了,当然这篇博文主要讲在VS2010下的安装配置。所以首先要正确的安装好VS2010和VC6.0然后才能谈OpenVC的安装于... 阅读全文
posted @ 2014-06-23 02:31 stemon 阅读(325) 评论(0) 推荐(0)
摘要:当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态数据成员的用途之一是统计有多少个对象实际存在。静态数据成员不能在类中初始化,实际上类定义只是在描述对象的蓝图,在其中指定初值是不允许的。也不能在够造函数中初始化该成员,因为静态数据成员为类的各个对象共享,那么每次创建一个类的对象则静态数据成员都要被重新初始化。 1 #include 2 3 class CDummy 4 { 5 public: 6 stati... 阅读全文
posted @ 2013-11-14 18:10 stemon 阅读(217) 评论(0) 推荐(0)
摘要:首先来一张图,一目了然:然后把相应的代码贴上来: 1 class A 2 { 3 int a; 4 5 public: 6 virtual void f(); 7 virtual void g(int); 8 virtual void h(double); 9 };10 11 class B : public A12 {13 public:14 int b;15 16 void g(int); //overrides A::g()17 virtual void m(B*);18 };19 20 class C : public B... 阅读全文
posted @ 2013-11-04 18:16 stemon 阅读(375) 评论(0) 推荐(0)
摘要:这是老师上课讲的内容,现在把它写下来,一方面当做复习,另一方面真的想学点东西。废话不多说,先贴上测试的代码: 1 #include 2 3 float temp; 4 5 float fn1(float r) 6 { 7 temp = (float)(r*r*3.14); 8 ... 阅读全文
posted @ 2013-10-30 18:01 stemon 阅读(518) 评论(0) 推荐(0)