自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HueCheung

IT、嵌入式

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

原创 C语言可变参数列表编程

最近在看一份代码,想定义一些自己的打印信息。但是其中涉及到C语言可变参数的编程,虽然之前了解相关的内容,但还不是很熟练,不得不重新温故一下。如下代码权当记录基本的用法,很多原理还说不上来。 #include #include #include void print_arg(int num,va_list arg); float average(int num, ...);

2015-11-29 22:19:14 689

原创 C/C++中的取地址与引用

函数调用的时候,引用相对于指针来说更高效、跟简便。因为指针传参的实质还是传值调用,copy地址需要开销,而引用直接被编译器优化。有些时候需要二级指针的地方,使用指针的引用会使问题简化很多,我在对树的操作的时候就碰到过,大家可以感受一下。

2014-09-09 11:14:53 9822 1

原创 Linux进程控制

#include #include #include #include #include /******************************************************************************** * *                             MAIN * *   getpid(),getpp

2014-09-09 10:28:59 598

原创 Linux时间编程

#include #include #include #define PRINT_EXE_TM(fun) printf("the "#fun"() executed for %fs\n",executivetime(fun)) float executivetime(void (*function)(void)); char * currenttime(void); char *

2014-09-09 10:21:52 560

原创 Linux文件I/O

//库函数实现

2014-09-09 10:16:20 571

原创 二叉树的创建及遍历

#include #include #include typedef struct node {     char data;     struct node *leftchild;     struct node *rightchild; }TreeNode,*TreeNodePointer; void PreOrderCreation(TreeNodePoint

2014-09-04 09:59:32 614

原创 普通模式匹配

#include #include /**************************************** * *匹配 *s:源字符串,t:目标字符串 ****************************************/ int match(char *S,char *t) {     int i=0,j=0;     while(S[i]

2014-09-04 09:41:10 548

原创 循环队列

#include #include #include #define MAX_SZ 10 typedef char data_type; typedef struct {     data_type * data_array;  //定义指向存储数据的空间的指针     int rear;     int head; }QueueType,*Que

2014-09-04 09:11:46 526

原创 链式堆栈

#include #include typedef char data_type; //数据类型 typedef struct filo {     data_type data;     struct filo *former;    //指向前一个单元 }Stack_type,*Stack_pointer; void StackInit(St

2014-09-04 09:02:33 539

原创 线性堆栈

#include #include #define MAXSZ 100 #define NO_SENSE_DATA ' ' typedef char data_type; typedef struct {     data_type space[MAXSZ];     int top; }STACK; void StackInit(STACK* st

2014-09-04 08:43:02 561

原创 哈夫曼编/译码器

#include #include #include #define CODE_LENGTH 100 //编码的最大长度 /*该结构体用来存储哈夫曼树的节点*/ typedef struct node_structure {     int weight; //权值     char ch;    //节点的字符信息     struct node_stru

2014-07-03 12:29:08 1073

原创 KMP模式匹配算法实现

/** \brief  KMP模式匹配  *  * \param  * \param  * \return  *  */ #include #include /*************************************************** *如果START_INDEX为1,则表示:本程序中字符数组从1号元素开始存储字符,0号元素存储字

2014-06-24 01:28:48 616

原创 指针数组&数组指针

#include #include #define COL 5 #define ROW 4 int main() {     int a[5][COL];     int (*p)[COL]; //数组指针     int *np[COL];  //指针数组     int i,j;     for(i=0;i     {         for(j=0;j

2014-04-22 17:30:32 687

原创 链接属性

与作用域不同的是,链接属性讨论的是标识符在工程内被访问的范围。         链接属性分为external,internal和none。具有external属性的标识符无论被申明多少次、无论申明处在多少个文件中,其始终被编译器当作一个实体。具有一internal属性的标识符多次申明在同一文件中时被当作同一实体,申明在不同文件中时被当作不同实体。具有none属性的标识符每申明一次被当作一个

2014-04-01 20:08:44 793

原创 作用域

作用域讨论的是标识符在文件中可以被访问的范围。变量作用域分为文件作用域、代码块作用域、原型作用域和函数作用域。   在所有代码块外申明的标识符具有文件作用域,从申明之处开始到文件末尾,该标识符可以被访问。由于文件中定义的函数名并不属于任何代码块,因此它具有文件作用域。同样使用#include自定义头文件时,头文件中的申明语句就好比写在文件中,因此它们也具有文件作用域。   在代码块开始处申明的

2014-03-31 00:15:17 575

转载 变量声明和定义的区别

变量的声明有两种情况: 1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。 2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。 前者是“定义性声明(defining declaration)”或者称为“定义(definition)”,而后者是“引用性声明(referncing declaration)”,从广义

2014-03-30 23:29:38 478

原创 变量存储类型

变量的存存储类型是指存储变量值的内存类型,其决定变量何时创建、何时销毁。变量的存储空间分为:普通内存、运行时堆栈和硬件寄存器。   申明在所有代码块外的缺省存储类型变量的存储类型是静态的(static),此类变量称作静态变量。静态变量总是存储在静态内存中,也就是不属于堆栈的内存中。静态变量的存储类型是不可以被更改的。静态变量在程序运行前被创建,在整个程序运行期间始终存在。   申明在代码块内的

2014-03-30 23:21:34 974

空空如也

空空如也

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

TA关注的人

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