
C/C++
bianhonglei
无
展开
-
阿牛哥C++笔记---1
第六讲 对象指针定义使用操作指向的对象void main(){CStudent student;CStudent *t=&studetn;pt->input("TOM",22,M);(*pt).input("JIM",19,M);}pt 是指针变量,使用完成后会自动释放,不用析构函数来释放。第七讲 内存的分配与释放静态内存栈内存堆内存堆内存分配方式是动态分配int原创 2009-08-02 14:51:00 · 516 阅读 · 0 评论 -
阿牛哥C++笔记---9
第四十二讲 虚基类class A{public: void inputA(int xx); int x;};void A::inputA(int xx){ x = xx;}class B{public: void inputB(int xx); int x;};void B::inputB(int xx){ x = xx;}class C:public A,public B{publi原创 2009-08-19 22:56:00 · 439 阅读 · 0 评论 -
阿牛哥C++笔记---10
第四十三讲 虚函数class A{public: void output();};class B: public A{public: void output();};class C: publid B{public: void output();};不同层次完全一样的函数头C类中将会有三个output函数void main(){ A a; a.output(); B b; b.ou原创 2009-08-20 23:17:00 · 686 阅读 · 0 评论 -
C++单冒号与双冒号的作用
C++单冒号与双冒号的作用 1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型转载 2013-01-25 11:01:00 · 7517 阅读 · 1 评论 -
串口通讯中的DCB结构
串口通讯中的DCB结构 typedef struct _DCB { // dcb DWORD DCBlength; // sizeof(DCB) DWORD BaudRate; // current baud rate 指定当前的波特率 DWORD fBinary: 1;转载 2013-01-18 16:05:56 · 1186 阅读 · 0 评论 -
递归算法详细分析-> C
http://www.cnblogs.com/zhangqqqf/archive/2008/09/12/1289730.html C通过运行时堆栈支持递归函数的实现。递归函数就是直接或间接调用自身的函数。 许多教科书都把计算机阶乘和菲波那契数列用来说明递归,非常不幸我们可爱的著名的老潭老师的《C语言程序设计》一书中就是从阶乘的计算开始的函数递归。导致读过这本经书的同学们,看到阶乘计算第一个转载 2013-04-30 16:48:42 · 557 阅读 · 0 评论 -
求N!的C的两种算法实现,求阶乘.从失败中寻找自我
#include int main(int argc, char * argv[]) { int n; int r = 1; printf("求N!的值,请输入要计算N的值:"); scanf("%d",&n); printf("您要计算的是%d的阶乘。\n",n); if(n<0) { printf("这个数好像无法计算阶乘。\n"); return 0; } el原创 2013-04-30 17:47:40 · 678 阅读 · 0 评论 -
一个关于的指针的经典笔试题目,加上自己的一点体会
关于一个经典的笔试题目, 用变量a给出下面的定义 a) 一个整型数(An integer) b) 一个指向整型数的指针(A pointerto an integer) c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer) d) 一个有10个整型数的数组(Anarray of 10 integers)原创 2013-05-01 14:21:23 · 682 阅读 · 0 评论 -
关于指针加减的一道题目
考查指针的题目,这道题只适合于那些特别细心且对指针和数组有深入理解的人 main() { int a[5] = {1,2,3,4,5}; int *ptr = (int*)(&a+1); printf("%d %d" , *(a+1),*(ptr-1) ); } 这段程序的输出是: (a) 2 2 (b) 2 1 (c) 2 5 (d) 以上均不是 答原创 2013-05-02 01:17:36 · 701 阅读 · 0 评论 -
嵌入式C笔试的一点体会
1. 关键字static的作用是什么? 1),在一个函数体内一个被声明成static的变量,会保持其上次调用的值,其在函数体内赋的初值语句已无效 2),在一个模块内被声明成staitc的变量(但不在函数体内),它可以被当前模块内的所有函数访问,但不能被模块外的函数访问,它是一个本地局部变量 3),在一个模块内被声明成static的函数只能被当前模块内的函数调用,模块外的函数无法调用 个人经原创 2013-05-01 22:11:36 · 854 阅读 · 0 评论 -
阿牛哥C++笔记---8
第三十九讲 实验 派生类中从基类中继承过画的成员的控制属性用实验证明通过继承,数据成员可以访问,而派生类不可以访问通过public继承来的派生类,基类中的public和protect仍可被派生类的数据成员访问,但派生类的对象不能访问protected数据成员能过protected继承来的派生类,基类中的public和protected继承后的性为protected,原创 2009-08-17 22:41:00 · 468 阅读 · 0 评论 -
阿牛哥C++笔记---7
第三十六讲 派生类定义派生类格式class 派生类名:继承方式 基类名{ 派生类函数; 派生类数据;};继承方式:派生类如何继承基类的方法publicprotectedprivate三种class Cfather{public: void fatherskin();protected: void childvisit();private: int age;}说明一下prot原创 2009-08-16 23:22:00 · 611 阅读 · 0 评论 -
阿牛哥C++笔记---6
第三十二讲 运算符重载实验在类中声明成员函数CVector operator+(CVector *this,CVector y);通常第一个操作数省略.隐式 可以写成CVector operator+(CVector y);第三十三讲 重载++运算符理解++a和a++的区别观点:表达式就是函数++看作函数名 a看成参数int operator++(int a){ a=a+1;原创 2009-08-16 23:21:00 · 871 阅读 · 1 评论 -
阿牛哥C++笔记---0
第一讲定义类关键字 类名class student {char id[3];char *name;char *sex[2];int score; //这四项为数据成员void study();void modify();//这两项为成员函数 };抽象成类用类定义 对象student stuA,stuB,stuC; 以上成员函数没有定义,可以在类中定义,也可以在类外定义建议在类外定义 格式 函数类型原创 2009-08-02 14:54:00 · 494 阅读 · 0 评论 -
非程序员C++入门---2
第五章 运算符与结合性。。。。。。略了不少sizeof用来返回操作数所占的存储空间的大小,以字节为单位返回char a[1];sizeof(a);将返回1int j;sizeof(j);将返回2,因为整形占用两个字节。原创 2009-08-02 23:35:00 · 378 阅读 · 0 评论 -
阿牛哥C++笔记---2
第十讲 拷贝构造函数int a=0;int b=a;CStudent stud1("TOM",20);CStudent stu2(stu1);构造方法初始化利用构造好的stud1来初始化stud2叫做拷贝构造方法#include main(){CStudent stud1("TOM",20);CStudent stu2(stu1);}class CStudent{ public: CS原创 2009-08-03 23:42:00 · 761 阅读 · 0 评论 -
非程序员C++入门---1
第四章 存储分类和作用域1,存储分类符定义了变量在内存中的位置以及程序执行过程中变量的作用时间即生命周期2,作用域是指程序中变量能够活动的(active)程序段,在此段程序中,变量可被存取3,变量的存储分类符可能通过声明来显式地(explicity)定义,也可以通过上下文隐式的定义(implicitly)C++中的存储分类符automaticstaticexternalregi原创 2009-08-02 22:43:00 · 454 阅读 · 0 评论 -
阿牛哥C++笔记---3
阿牛哥C++第十四讲 实验三-----对象的释放方法,析构函数的使用析构函数前加~和类名相同没有参数且是唯一的不能重载实现系统会自动的调用析构函数。指针变量会自动的释放内存空间,所以没有析构的说法#include #include //strcpy head fileclass CStudent{public: CStudent(); //构造函数一定和它的类名字是一样的 CStudent(cha原创 2009-08-05 23:04:00 · 537 阅读 · 0 评论 -
阿牛哥C++笔记---5
第三十讲 运算符重载运算符它本质上是函数,(一种特殊的函数,运算符函数)函数的重载和运算符的重载本质上是一样的定义:以函数的形式,重写运算符代码,实现新的运算功能 格式:函数类型 operator运算符();功能:实现对象或者对象之间的运算如:向量相加减,复数相加减运算如果x,y是两个对象或者变量,+不是对象的成员,则z=z+y;相当于:z=operate+(x,y);如果x,y是原创 2009-08-09 23:52:00 · 448 阅读 · 0 评论 -
阿牛哥C++笔记---4.1
第二十讲 友元函数定义一个函数不是本类的函数,但可以访问本类的成员。那需要在类中定义这个为友元函数声明格式 friend void visit(); 实验 二十讲 友元函数的使用方法想用一个普通函数来操作定义对象的数据成员。在类当中声明变通函数是这个类的友元函数 #include #include //strcpy head fileclass CStudent{public: CStude原创 2009-08-08 22:54:00 · 439 阅读 · 0 评论 -
Make点滴学习-----1
MakeFile点滴好处特点的什么就不废话了,直接入正题吧以前看这块总是看不下去,现在必须得看下去了,因为要编译内核,顶层的MakeFile控制着编译的文件,要想很好的裁剪内核,就得很了内核的生成过程,这就是MakeFile了make是一个解释MakeFile文件中指令的工具,那么重点就是Make的语法了,这是以后的中心GNU make的工作流程1,查找当前目录下的MakeFile文件 2,初原创 2009-08-12 17:08:00 · 548 阅读 · 0 评论 -
Make点滴学习-----2-MakeFile的规则语法
MakeFile的规则语法格式#注释目标文件:依赖文件列表............................命令列表............................示例#makefile exapletest: main.o test1.o test2.o gcc -o test main.o test1.o test2.omain.o: main.c head1.h head2原创 2009-08-12 17:51:00 · 603 阅读 · 0 评论 -
浅谈C中的malloc和free
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以 写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助! 如果不转载 2013-05-06 22:48:41 · 600 阅读 · 0 评论