- 博客(18)
- 收藏
- 关注
原创 循环链表之约瑟夫环问题
不带密码的约瑟夫环问题:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到k的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后[1] 结果+1即为原问题的解。方法一:利用单向循环
2016-10-09 13:44:31 446
原创 static,const作用
static关键字至少有下列n个作用: (1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;
2016-10-02 17:02:01 256
原创 union用途
union维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下:union StateMachine{ char character; int number; char *str; double exp;};
2016-10-02 16:57:35 906
原创 字符串之循环右移
#include#includevoid loop_move1(char *str,int n);void loop_move2(char *str,int n);int main(){char str[]="abcdef";loop_move2(str,2);printf("%s\n",str);return 0;}// abcdef 右移2
2016-10-02 16:55:09 347
原创 多态类型
在c++语言中,这种多态性可以通过强制多态、重载多态、类型参数化多态、包含多态4种形式来实现。类型参数化多态和包含多态统称为一般多态性,用来系统地刻画语义上相关的一组类型。重载多态和强制多态统称为特殊多态性,用来刻画语义上无关联的类型间的关系 1234567891011121314151617
2016-10-02 16:53:24 819
原创 缺省值,默认值
c/c++中的缺省值和默认值1:函数形参匹配默认靠前Fun(3)其实是调用的fun(3,2) ,函数形参匹配默认靠前,3匹配的是int I;当没有赋值是用初始化值2 2:数组缺省值 inta[5]={1,5,}; 1,5,0,0,0 缺省值是03:枚举缺省值 ,以0开始,或者接着上面的值枚举是声明代表整数常量的符号名称enum num
2016-10-02 16:50:50 4046
原创 野指针,空指针
“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两种:一、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。二、指针
2016-10-02 16:48:08 390
原创 字符串之子字符串
1:判断sub是否是str的子字符串如:str: abcdefg sub: cde 是子字符串,返回1#include#includeint is_substring(char *str,char *sub);int main(){ char*str="abcdefg"; char*sub="cde"; int
2016-10-01 18:12:22 619
转载 常见字符串函数内部实现方法
转:http://blog.csdn.net/hkh5730/article/details/14674183 '\0'是ASCII码为0的字符,即字符串结点符而'0'是数字字符'0',ASCII码是481:memset void *memset(void *s, int c, size_t count)将s开始的count字节内存都赋值为cvoid *memset(v
2016-09-30 15:58:37 239
原创 字符串之反转
开始字符串相关操作前前先明确一下几个细节知识点:1:可以用数组表达方式表示字符串char *str="hello world";printf("%c\n",str[4]);//输出o 2:下面这个会系统崩溃,因为字符串存储在文字常量区,不能改变 char*str="hello world"; str[4]=str[2];//错误,字符串存
2016-09-30 15:23:52 238
原创 字符串之复制
#includechar *string_copy(char *dest,const char *src);int main(){char *str;//注意一定要指向一个指针str=(char *)malloc(6);string_copy(str,"hello");printf("%s\n",str);//输出 helloreturn 0;}
2016-09-29 15:25:30 206
原创 逗号表达式,自增
1:#includeint main(){ int a=1; int b=-1; printf("%d",a--);//输出:1 先赋值,再自减 return 0;} 2:#includeint main(){ int a=1; int b=-1;
2016-09-29 15:19:42 774
原创 字符串,指针,内存分配,函数调用
1、栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。2、堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,生命周期有程序员自己决定在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。 3、全局区数据区—静态存储区
2016-09-28 18:04:28 445
转载 strcpy与memcpy区别
转载:http://www.cnblogs.com/stoneJin/archive/2011/09/16/2179248.html中兴面试的时候问到这个问题,答的不好。strcpy和memcpy主要有以下3方面的区别。1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2、复制的方法不同。strcpy不需要指定
2016-09-28 14:39:46 195
原创 几个linux操作命令
一:解压缩1:解压 (解压参数:x ; 压缩参数c,后面参数根据文件后缀分别加vf ,zvf, jvf) tar –xvf file.tar //解压tar包 tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2 //解压 tar.bz2 tar –xZvf file.tar.Z //解压tar.Z
2016-05-29 18:18:50 338
原创 安卓驱动编译简单介绍
介绍一下编译makefile和config的知识。Kconfig当执行#make menuconfig时会出现内核的配置界面,所有配置工具都是通过读取"arch/$(ARCH)Kconfig"文件来生成配置界面,这个文件就是所有配置的总入口,它会包含其他目录的KconfigKconfig的作用:Kconfig用来配置内核,它就是各种配置界面的源文件,内核的配置工具读取各个K
2016-05-29 18:03:35 1116
原创 简单的脚本命令
列出一些常用,简单的bat命令1:echo echo 表示显示此命令后的字符 例:echo "nowtest create file time " --终端显示now test createfile timeecho off 表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的
2016-05-29 18:01:28 775
原创 安卓驱动开发要干的那些事
从事安卓驱动开发快一年,写这篇文章仅仅是为了给刚刚从事这行的兄弟们一点参考。建议:如果是从未接触过驱动开发的人想入这行,建议买本宋宝华的书先看上2个月,弄懂什么是驱动,大致要做哪些工作。安卓驱动开发入门建议先做传感器的驱动开发,因为传感器驱动开发架构清晰,相对简单易于上手。下面大致讲一下一个项目开发过程中驱动工程师要做的事情:一:驱动移植驱动移植要做两件事:
2016-04-26 21:24:05 7778 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人