关闭
当前搜索:

深入理解c语言中字符串处理函数strlen,strcpy,strcat,strcmp

在linux C 编程中,我们经常遇到字符串的处理,最多的就是字符串的长度、拷贝字符串、比较字符串等;当然现在的C库中为我们提供了很多字符串处理函数。熟练的运用这些函数,可以减少编程工作量,这里介绍几个常用的字符串函数,并编写一些程序,如果没有这些库函数,我们将如何实现其功能; 1.求字符串长度函数 strlen 头文件:string.h  函数原型:size_t strlen(co...
阅读(32) 评论(0)

arm的GPIO简介

GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。 GPIO口一是个比较重要的概念,用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。GPIO口的使用非常广泛。 ...
阅读(32) 评论(0)

c++中的四种类型转换的区别

类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单 (TYPE)EXPRESSION;    但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换 成指向非const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风...
阅读(83) 评论(0)

进程间常见通信方式间的区别,各自的优缺点,以及怎样选择

管道:只能单向传递,且只能在有亲缘关系的进程中使用   有名管道:也是单向传递,但可以在非亲缘进程中使用    信号量:可以用来控制多个进程对共享资源的访问   消息队列:消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点;   信号:信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。   共享内存:由一个进程创建,但多个进程都可以访问。往往与其...
阅读(79) 评论(0)

select,poll,epoll的区别

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用...
阅读(55) 评论(0)

总结一下进程

进程是一个具有一定独立功能的程序的一次运行活动,是资源分配的最小单元。 进程与程序的比较: 程序是放到磁盘的可执行文件。 进程是指程序执行的实例。 进程的状态: 执行态:进程正在占用cpu, 就绪状态:进程以及具备一切条件,正在等待分配cpu的处理时间片 等待状态:进程不能使用cpu,若等待条件发生则可将其唤醒。 对Linux系统来说,这是一个多进程的系统,...
阅读(39) 评论(0)

这段时间就回顾下已经快被忘记的知识点吧,首先是关于死锁

死锁:一组进程中,每个进程都无限等待被该组的另一个进程所占有的资源,因而永远无法得到资源的现象被称为进程死锁,这组进程被称为死锁进程。  可形象将死锁状态描述为:  A和B两个人都没有礼貌,都不愿给彼此让路,所以A和B都在等对方让路,导致谁也过不去。  同样的,也可形象的将活锁状态描述为:  A和B两个人都很有礼貌,A往左边走给B让路,B也往左边走给A让路;或者A往右边走给B让路,B也往右...
阅读(80) 评论(0)

POJ1787,Charlie‘s changes。不太复杂的背包问题

最后生成的投币结果与题目不完全一样,但同样满足要求 Description Charlie is a driver of Advanced Cargo Movement, Ltd. Charlie drives a lot and so he often buys coffee at coffee vending machines at motorests. Charlie hates...
阅读(53) 评论(0)

对于正整数N,输出其和等于N且满足以下限制条件的所有正整数的和式

对于正整数N,输出其和等于N且满足以下限制条件的所有正整数的和式,即组成和式的数字自左至右构成一个非递增的序列。如N=4,程序输出为: 4=4 4=3+1 4=2+2 4=2+1+1 4=1+1+1+1 程序中分别采用递归和非递归解法的两个函数RD()和ND()。 函数RD()采用递归解法,它有两个参数N和K。其意义分别是被分解和式的数N,及当前第K度分解。算法思想是对N的所有合理的...
阅读(311) 评论(0)

栈溢出怎么办

1,什么是栈溢出? 因为栈一般默认为1-2m,一旦出现死循环或者是大量的递归调用,在不断的压栈过程中,造成栈容量超过1m而导致溢出。 2,解决方案: 方法一:用栈把递归转换成非递归 通常,一个函数在调用另一个函数之前,要作如下的事情:a)将实在参数,返回地址等信息传递给被调用函数保存; b)为被调用函数的局部变量分配存储区;c)将控制转移到被调函数的入口. 从被调用函数返回...
阅读(74) 评论(0)

关于操作系统多进程多线程问题的小的总结

转载自CSDN博客:http://bbs.csdn.net/topics/390631927?page=1 多线程一定多核吗? 对于操作系统和软件来说,多线程并不意味需要多核心的CPU,事实上,2005年以前,所有的个人PC都是单核心的,但是1993年问世的Windows NT就支持多线程。操作系统采用分时的办法让多个线程平分CPU时间。 多线程是不是意味着一定并发执行?‘网上各种概念太...
阅读(119) 评论(0)

(POJ 1011)题目接上条,这次是自己写的哈哈,看起来像是蛮笨的方法。

先排序,然后最大的与最小的结合,设一个测试值,程序里是j,j需要满足j>=max&&sum%j == 0;所以循环开始先加入这个条件节省测试时间。输出与原题相比多了倍数的可能,也就是说加入了所有可能。如果只要求最小的可能,就在 j 循环换成for(j = max;j #include #include #define N 64 int test[N][2]; int r...
阅读(64) 评论(0)

动态规划问题,POJ 1011

Sticks Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 114674 Accepted: 26364 Description George took sticks of the same length and cut them randomly until...
阅读(66) 评论(0)

矩阵快速幂,求斐波那契数列

用矩阵的快速幂求斐波那契数列,时间复杂度为O(lgn*n^3),其中计算一次矩阵相乘复杂度为O(n^3),大大缩小了暴力相乘(1次1次乘)的时间复杂度 参考文章:                  http://blog.csdn.net/u013795055/article/details/38599321                  http://b...
阅读(85) 评论(0)

计算2*n的矩形能拆分成几种由2*1,2*2组成的情况

关键找到规律,然后解决数字计算和输出的问题 Description In how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles?  Here is a sample tiling of a 2x17 rectangle.  Input Input is a sequence o...
阅读(51) 评论(0)

关于高精度数的问题:求斐波那契数列在一个区间内有几个数。区间要求0-10^100内。

Description Recall the definition of the Fibonacci numbers:  f1 := 1 f2 := 2 fn := fn-1 + fn-2 (n>=3) Given two numbers a and b, calculate how many Fibonacci numbers are in the range [...
阅读(124) 评论(0)

自己整理的几种常见排序算法,及时间复杂度空间复杂度。c++编程

/***************************************************** copyright (C), 2014-2015, Lighting Studio. Co.,     Ltd.  File name: Author:fhb    Version:0.1    Date:  Description: Funcion List:  ******...
阅读(96) 评论(0)

读写锁和互斥锁的区别

相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散布在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散布在不同进程之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。   显然,同步是一种更为复杂的互斥,而互斥是一种特...
阅读(76) 评论(0)

在STL中基本容器string、vector、list、deque、set、map之间的区别

在STL中基本容器有: string、vector、list、deque、set、map set 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问 set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少 map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了 底层采用的是树型结构,多数使用平衡二叉树实现,查...
阅读(90) 评论(0)

关于哈希表的使用和特点

原文出处: 研究者July    说明:本文分为三部分内容,第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。 第一部分:Top K 算法详解 问题描述 百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(...
阅读(212) 评论(0)
226条 共12页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:55853次
    • 积分:2340
    • 等级:
    • 排名:第18468名
    • 原创:179篇
    • 转载:46篇
    • 译文:1篇
    • 评论:0条