自定义博客皮肤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 645

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

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

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

原创 Linux进程控制

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

2014-09-09 10:28:59 560

原创 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 528

原创 Linux文件I/O

//库函数实现

2014-09-09 10:16:20 538

原创 二叉树的创建及遍历

#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 578

原创 普通模式匹配

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

2014-09-04 09:41:10 514

原创 循环队列

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

2014-09-04 09:11:46 490

原创 链式堆栈

#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 505

原创 线性堆栈

#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 525

原创 哈夫曼编/译码器

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

2014-07-03 12:29:08 1039

原创 KMP模式匹配算法实现

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

2014-06-24 01:28:48 582

原创 指针数组&数组指针

#include #include #define COL 5#define ROW 4int 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 647

原创 链接属性

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

2014-04-01 20:08:44 753

原创 作用域

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

2014-03-31 00:15:17 530

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

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

2014-03-30 23:29:38 452

原创 变量存储类型

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

2014-03-30 23:21:34 924

空空如也

空空如也

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

TA关注的人

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