自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

C与嵌

You and me share

  • 博客(33)
  • 收藏
  • 关注

转载 为什么要用设计模式?

1、设计模式是前人根据经验总结出来的,使用设计模式,就相当于是站在了前人的肩膀上。     2、设计模式使程序易读。熟悉设计模式的人应该能够很容易读懂运用设计模式编写的程序。     3、设计模式能使编写的程序具有良好的可扩展性,满足系统设计的开闭原则。比如策略模式,就是将不同的算法封装在子类中,在需要添加新的算法时,只需添加新的子类,实现规定的接口,即可在不改变现有系统源码的情况

2016-04-27 08:57:14 2747 1

原创 程序集反射 Type 类

Type 类表示类型声明:类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型类型定义,以及开放或封闭构造的泛型类型。这个类是线程安全的。Type 为 System.Reflection 功能的根,也是访问元数据的主要方式。使用 Type 的成员获取关于类型声明的信息,如构造函数、方法、字段、属性和类的事件,以及在其中部署该类的模块和程序集。Type 是允许多个实现的抽象基类。

2016-04-26 20:38:37 492

原创 反射——Reflection

反射的相关定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。  System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码  System.Reflection.Assembly   System.Refl

2016-04-26 20:29:53 423

原创 C# 窗体加载事件委托被忽视的环节?委托事件声明定义

public delegate void EventHandler(object sender, EventArgs e);委托声明public event EventHandler Load; //事件声明,相当于定义私有的委托变量this.Load += new System.EventHandler(this.VideoForm_Load);//注册方法 privat

2016-03-23 17:57:34 1201

转载 虚析构函数(√)、纯虚析构函数(√)、虚构造函数(X)

一. 虚析构函数我们知道,为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。如:class Base{public:   Base(){}   virtual ~Base(){}};class Derived: public Ba

2015-08-02 00:53:47 481

原创 Summary Day36

进程间通信:1使用管道进行进程间的通信(1)有名管道mkfifo xxx.pipe(2) 无名管道int pipe(int pipefd[2]);文件描述符 pipefd[0]代表读端,pipefd[1]代表写端2. 使用共享内存实现进程间的通信步骤:获取key值,使用ftok函数创建、获取共享内存,使用shmget函数接挂共享内存,使用shma

2015-06-17 13:05:53 612

原创 Summary Day35

银行账户管理系统(模拟ATM的功能)1.综合项目1.1 项目名称   银行账户管理系统(模拟ATM)1.2 项目功能   开户、销户、存款、取款、查询、转帐1.3 项目架构   采用C/S结构进行设计(1)客户端   提供一个界面给用户选择,将用户选择的业务发送给服务器处理,等待处理结束后,显示给用户(2)服务器   接受客户端发来的业务信息

2015-06-15 23:26:19 497

原创 Summary Day34

1. 信号的处理1.1 信号集的概念和使用信号集结构体:typedeg struct {unsigned ling int __val[1024 / (8 * sizeof(unsigned l))];  } __sigset_t;typedef __sigset_t sigset_t; 信号集的相关处理函数sigemptyset() => 清空sigfills

2015-06-14 01:46:26 535

原创 Summary Day33

1. 文件管理1,1 fcntl  函数(1)F_SETLKW功能与F_SETLK类似,所不同的是加不上锁并不是返回失败而是等待,直到可以加上该锁为止(2)F_GETLK表示试图将第三个参数描述的锁加到第一的参数指定的文件上如果能加上锁但不会去加,而是将该锁的类型改为F_UNLCK;如果不能加上锁,则将文件中已经存在的锁信息通过第三个参数带出来,并且将给文件进行加锁的进

2015-06-09 23:26:21 573

原创 Summary Day32

1 . 文件管理1.1 标C文件处理和UC文件处理函数的比较:标C文件处理函数比UC的文件处理函数速度快,因为标C内部独立输入输出缓冲区,会积累一定数量之后再写入文件,因此读写效率比较高使用time命令可以获取进程的运行时间time b.outreal  0m0.081s  =>真实时间user  => 用户态时间sys => 内核时间1.2 文

2015-06-09 01:00:41 1056

原创 Summary Day31

1.内存管理1.1 比较内存管理的相关函数STLnew/deletemalloc()/free()sbrk()/brk()mmap()/munmap()1.2 内存处理函数的介绍(1) mmap函数#include void *mmap(void* addr, size_t length, int prot, int flagsm, int fd , off

2015-06-06 09:58:05 410

原创 Summary Day30

1.内存管理1.1 进程中的内存区域划分  代码区   只读常理区    全局区    BSS     堆   栈1.2 字符串存储形式之间的比较   字符指针,字符数组,字符动态内存1.3 虚拟内存管理技术Unix/Linux系统总的内存都是采用虚拟内存管理技术进行管理,即:每个进程都有0~4G的内存地址(虚拟的并不是真实存在的),由操作系统负责把内存

2015-06-04 23:55:03 902

原创 Summary Day29

1.  C语言的 错误处理return 0;//程序正常结束return -1;//程序异常结束1.1  C语言通过返回值表示错误的形式,一般规则如下:(1)如果函数的返回值类型是int类型,并且函数的返回值不可能是负数时,则返回0表示正常结束,返回-1表示出错(2)如果函数返回值类型int 类型,函数的返回值可能是负数时,使用指针作为函数形参将函数的结果带回去,然后使

2015-06-03 22:54:33 618

原创 Summary Day28

1. 环境变量的使用1.1 基本概念环境变量一般是指操.作系统中用来指定操作系统运行环境和应用程序环境的一些变量pash 就是一个环境变量,路劲1.2 基本配置(1)Windows 系统中的配置(2)unix/linux 系统中的配置echo 字符串 => 字符串原样输出,回显echo $SHELL =>  获取SHELL的值,进行回显echo $PAT

2015-06-02 23:32:10 567

原创 Summary Day27

1.  课程简介1.1 课程阶段简介1.2 Unix/linux系统下的高级c编程2. Unix/Linux系统简介1.1 Unix系统简介1.2 Linux 系统的简介3. gcc的基本使用2.1 基本概念原名叫做GNU C Compiler(GNU C 编程语言编译器),只是用于编译C语言,后来做一些扩展,支持C++\OC等语言的编译,因此改

2015-06-01 20:47:58 547

原创 有序二叉树链式存储结构1——插入与遍历

// Filename : binary_tree.c// Author : LupingChen// Data : 2015.06.01// Content : insert_data\travel_data#include #include //定义节点数据类型typedef struct Node { i

2015-05-31 22:14:30 726

原创 队列的链式存储结构的实现3——完结编

// Filename : list_queue.c// Authot : LupingChen// Data : 2014.06.01// Content : main\clear#include #include //定义节点数据类型typedef struct Node { int data;//节点数据

2015-05-31 08:17:36 983

原创 队列的链式存储结构的实现2 —— 出队查看队首尾元素计算元素个数

// Filename : list_queue.c// Authot : LupingChen// Data : 2015.05.30// Content : pop\get_head\get_tail\size//定义节点数据类型typedef struct Node { int data;//数据 struct Node next;//指向下一个节点} N

2015-05-31 00:36:30 2724 1

原创 队列的链式存储结构的实现1 —— 创建销毁判断满空入队

// Filename : list_queue.c// Author : LupingChen// Data : 2015.05.30// Content : create\destory\full\empty\push#include #include //定义节点数据类型typedef struct Node {

2015-05-31 00:21:40 1550

原创 Summary Day26

数据结构与算法1. 算法的基本概念1.1 概念:计算机程序 = 数据结构 + 算法算法就是对解决问题的方案进行准确而完整的描述,也就是描述如何解决问题1.2 算法的评定标准(1)时间复杂度主要描述算法的时间消耗和问题解决规模的函数关系(2)空间复杂度主要描述算法的空间消耗和问题规模之间的函数关系(3)正确性(4)可读性(5)程序的健壮性

2015-05-30 00:37:31 429

原创 Summary Day25

数据结构与算法1. 二叉树1.1 相关概念在计算机中,二叉树是指每个节点最多只有两个子节点的树形结构其中起始节点叫做根节点,整个二叉树只有一个根节点,除了根节点外每个数只有一个父节点没有任何子节点的节点叫做叶子节点,除了根节点和叶子节点外,剩下只有枝节点(只有两个子节点)二叉树每层中节点钧达到最大值为满二叉树完全二叉树,在满二叉树的基础上叶子节点不满也靠左边

2015-05-28 23:22:31 467

原创 数组与指针相关累赘混淆概念的简析

在我们初级程序猿的编程学习中,经常遇到像数组指针、指针数组容易混淆语义的概念再此小编在老师的指导下深入浅出的分析了一番,发现这类概念性短句有一个共性的特点就拿数组指针和指针数组来说:数组指针:把它分成两个部分 , 数组 和 指针 , 数组相当于形容词, 指针等同于名词,而形容词一般用语修饰名词,所以数组用于修饰指针,语义在指针可改为 数组的指针。可以看出,数组指针就是指

2015-05-27 23:52:16 446

原创 Summary Day24

数据结构与算法链表1.1 基本概念由地址不连续的节点序列组成,彼此通过指针进行相互链接构成的数据结构,叫做链表1.2链表分类(1)单向的线性链表每一个节点除了存储数据元素本身外,还需要指针,用于记录下一个节点指针叫做后指针,头指针,尾指针(2)单项循环链表在单项的基础上,为节点指向头指针(3)双向线性链表(4)双向循环链表(5)数组链

2015-05-27 22:53:04 426

原创 堆栈顺序存储结构实现4——完结编(综合调试效果)

// Filename : Stack.c// Author : LupingChen// Date : 2015.5.27// Content : main#include #include //....//前面三遍可查询int main(void){ //创建 Stack* ps = create(6); print

2015-05-27 07:39:27 420

原创 堆栈顺序存储结构实现3——遍历查看个数元素

// Filename : Stack.c// Author : LupingChen// Date : 2015.2.26// Content : pop/size/peek#include #include //定义堆栈结构体数据类型typedef struct { int* arr; //堆栈首地址 int len; //堆栈

2015-05-27 00:28:10 781

原创 堆栈的顺序存储结构实现2——栈满 栈空 入栈 出栈

// Filename : stack.c// Author : LupingChen// Date : 2015.5.26// Content : empty.full .push.pop#include #include //声明堆栈结构体数据类型typedef struct { int* arr[]; int l

2015-05-26 23:38:14 1980

原创 Summary Day23

数据结构与算法1. 基于链式存储结构的栈实现2. 队列的基本特征和实现2.1 队列的特征具有先进先出的数据结构叫做队列(Queue)FIFO(first in first out)入队操作在队尾进行处理,出队操作在队首进行处理其中队列中的第一个元素叫做队首元素,最后一个叫做队尾元素2.2 队列的基本操作创建(create) \   销

2015-05-26 23:31:36 464

原创 堆栈的顺序存储结构实现1——堆栈的创建与销毁

// Filename : stack // Author : LupingChen// Date : 2015.05.35// content : creat and destroy#include #include //堆栈结构体typedef { int* arr; //存储空间首地址 int len; //存储空间大小 in

2015-05-26 00:44:28 1267

原创 Summary Day22

数据结构与算法1、数据结构的概念和分类1.1 基本的概念在计算机中,数据结构就是指计算机描述和存储数据的方式主要描述数据元素之间的逻辑关系以及计算机存储形式空间复杂度,时间复杂度计算机程序 = 数据结构 + 算法1.2 基本的分类/层次结构(1)逻辑结构 - 抽象层主要描述数据结构元素之间的逻辑关系(2)物理结构 - 结构层主要描述数据元素之间的

2015-05-25 23:40:22 390

原创 Summary Day21

结构体类型:1、结构体类型做形式参数使用浪费时间和空间2、结构体做返回值使用浪费时间和空间3、解决这个问题可用结构体指针数据对齐与补齐:1、变量地址是它自身大小的真数倍(double存储区是4的真数倍)2、结构体内部大小遵守数据对齐的,造成空隙,让费空间(声明注意内部成员的排序)3、结构体地址是占地最大的整数倍(double为4)(这个规

2015-05-24 23:21:33 555

原创 控制台版2048游戏C程序项目分析(仅供参考,后期代码实现结构有所调整)

C语言编程项目计划书----2048游戏一.目的了解C语言编程的问题分析和方案求解过程,提高抽象和建模能力;了解C语言编程的过程,体会编程思想;分工合作,提高团队合作意识。二.项目概述本次程序设计项目主要功能是在Linux控制台中实现模拟2048游戏。程序主要的流程为:1.游戏开始功能选择:开始新游戏或者读取保存游戏数据;2.根据步骤1中的选择显示读取的或者新的游戏

2015-05-24 21:15:25 1230

转载 printf格式化输出的字体颜色效果

格式:CODE:printf("\033[字背景颜色;字体颜色m字符串\033[0m" );  printf("\033[47;31mhello world\033[5m");47是字背景颜色, 31是字体的颜色, hello world是字符串.  后面的\033[5m是控制码.颜色代码:QUOTE:字背景颜色范围: 40--49     字颜色: 30--39 

2015-05-24 20:54:46 1052

转载 直接获取键盘字符命令(游戏方向操作实例)

#include #include #include #include int getch();void press_key();int main(){   printf("Hello world!\n");   press_key();   return 0;}void press_key(){   prin

2015-05-24 10:30:52 564

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除