C编程
bbs598598
这个作者很懒,什么都没留下…
展开
-
来一份eXtremeDB使用笔记
1、准备工作:下载eXtremeDB安装包(http://www.leadingtek.com.cn/)然后将安装或解压至磁盘。此时可以看到其目录下有host、include、platform和target等目录。2、用你喜欢的文本编辑器构建一数据库结构,文本内容如下:(举例说明,保存文件名为test.mco)#define int1 signed#define in转载 2012-04-11 21:20:12 · 6899 阅读 · 0 评论 -
sizeof 类
虚继承的话,在子类末尾要多一份指向基类的指针;只保留一份,多的要减去如果子类重新定义了虚函数,那么它不放在基类的虚表里面,而是单独重新开一份虚表,这个和非虚继承是不同的----------------------------------------------------1.class K{ };sizeof(K) = 1;//空转载 2012-08-06 21:37:10 · 634 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;转载 2012-08-08 15:57:26 · 547 阅读 · 2 评论 -
define与typedef区别与联系
#define N 5 表示N的值为5typedef struct s{int k}node; 表示node和struct s有一样的功能 ,比如你要定义刚才这个结构体的话, 写struct s head,和node head表示的是一个意思,都是新建立了一个struct s之类的结构体总的来说我认为,define的作用是把一个变量赋值为常量,比如#define N 5转载 2012-11-01 15:19:53 · 1075 阅读 · 0 评论 -
一个五位数字ABCDE*4=EDCBA,这五个数字不重复,请编程求出来.
一个五位数字ABCDE*4=EDCBA,这五个数字不重复,请编程求出来.先给一个网友的纯的推理过程:ABCDE*4=EDCBA很显然,A不是1,就是2,为0就不是五位数,为> 2则乘积不会是五位数因为4*E的个位数是A,则A=2所以题目变成2BCDE*4=EDCB2显然,E是8(原因,乘以4个位为2的只有3,8,而根据高位2*4> =8,它只能为8所转载 2012-12-02 10:29:40 · 9119 阅读 · 1 评论 -
有限状态机(FSM)学习总结
1 概念和术语有限状态自动机 (FSM:Finite State Machine),简称状态机,是表示有限多个状态以及在这些状态之间转移和动作的数学模型。状态存储关于过去的信息,它反映从系统开始到现在时刻输入的变化;转移指示状态变更,用必须满足来确使转移发生的条件来描述它;动作是在给定时刻要进行的活动描述。有多种类型的动作:u 进入动作(entry action):转载 2016-02-24 10:29:17 · 10576 阅读 · 0 评论 -
使用SVN主干与分支功能
http://blog.sina.com.cn/s/blog_620eb3b20101hvz7.html http://www.cnblogs.com/firstdream/p/5321366.html解决版本冲突-使用SVN主干与分支功能1 前言大多数产品开发存在这样一个生命周期:编码、测试、发布,然后不断重复。通常是这样的开发步骤:1) 开发人员开发完毕转载 2016-04-15 16:58:55 · 8067 阅读 · 0 评论 -
程序员必读书单 1.0
http://lucida.me/blog/developer-reading-list/转载 2016-08-22 15:51:27 · 711 阅读 · 0 评论 -
ioctl 函数
本函数影响由fd 参数引用的一个打开的文件。 #includeint ioctl( int fd, int request, .../* void *arg */ );返回0 :成功 -1 :出错 第三个参数总是一个指针,但指针的类型依赖于request 参数。我们可以把和网络相关的请求划分为6 类:套接口操作文件操作接口操作ARP 高速缓存操作路转载 2012-07-18 14:30:28 · 688 阅读 · 0 评论 -
memset函数
需要的头文件 在C中 or 在C++中 void *memset(void *s, int ch, size_t n); 函数解释:将s中前n个字节替换为ch并返回s; memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法。常见错误 第一: 搞反了ch 和 n的位转载 2012-07-18 10:51:01 · 537 阅读 · 0 评论 -
C语言之结构体
C语言中,结构体是一种很常用的数据类型。简单而又复杂,能够用好它实属不易。下面总结下它的常见用法及容易出错的地方。一、关于结构体的声明1、匿名声明。如:struct { int i,j;}point;说明:>>这段代码的含义是,声明一个无名(anonymous)的结构体,并创建了一个结构体变量point。如果这段声明是放在全局域内,那么p转载 2012-07-10 16:35:37 · 907 阅读 · 0 评论 -
sprintf函数的用法
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [,转载 2012-05-08 10:35:48 · 391 阅读 · 0 评论 -
程序员面试
C语言程序的内存布局:1. 代码段 code or text2. 只读数据段 ro data3. 已初始化读写数据段 rw data4. 未初始化读写数据段 bss5. 堆 heap6. 栈 stack 但有时候也这么说1. 栈2. 堆3. 全局区或静转载 2012-05-09 14:21:10 · 482 阅读 · 0 评论 -
C语言字符串 数字转换函数大全
atof(将字符串转换成浮点型数) atoi(将字符串转换成整型数) atol(将字符串转换成长整型数) strtod(将字符串转换成浮点数) strtol(将字符串转换成长整型数) strtoul(将字符串转换成无符号长整型数) toascii(将整型数转换成合法的ASCII 码字符)转载 2012-05-27 16:59:00 · 4054 阅读 · 0 评论 -
进程的虚拟地址空间,堆栈、堆、数据段、代码段
上图是进程的虚拟地址空间示意图。堆栈段: 1. 为函数内部的局部变量提供存储空间。 2. 进行函数调用时,存储“过程活动记录”。 3. 用作暂时存储区。如计算一个很长的算术表达式时,可以将部分计算结果压入堆栈。数据段(静态存储区): 包括BSS段的数据段,BSS段存储未初始化的全局变量、静态变量。数据段存储经过初始化的全局和静态变量。转载 2012-05-30 09:54:19 · 3955 阅读 · 0 评论 -
#pragma用法
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。1.message 参数 Message 参数能够在编译信息输出窗口中输出转载 2012-05-14 16:13:01 · 498 阅读 · 0 评论 -
字节对齐
gcc 中的"__attribute__ ((packed))" __attrubte__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。#define __u8 unsigned char#define __u16 unsigned short/* __attribute__ ((pac转载 2012-07-04 08:47:24 · 975 阅读 · 0 评论 -
PC中可重入函数
主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。 也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其转载 2012-06-25 09:54:47 · 2068 阅读 · 0 评论 -
关于void*
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,定义一个void变量没有意义,不妨试着定义: void a; 这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。 void真正发挥的作转载 2012-07-10 09:51:45 · 619 阅读 · 0 评论 -
printf 函数的实现 *
/* * ===================================================================================== * * Filename: printf.c * * Description: printf 函数的实现 * * Version: 1.0 *转载 2016-12-17 19:08:29 · 1542 阅读 · 0 评论