![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 50
316llp
这个作者很懒,什么都没留下…
展开
-
《C和指针》读书笔记
1,简介1.1重排字符 1.1.1空白和注释 空白:空行将程序的不同部分分割开来;制表符(tab)用于缩进语句,更好的显示程序的结构等。 注释:注释以符号/*开始,以*/结束结束。在C程序中,凡是空白的地方都可以插入注释,但是,注释不可以嵌套。在有些语言中,只是有时用于把一段代码“注释掉”,但并不将其真正从源文件中删除。在C语言中,如果一段代码内原创 2016-11-05 14:39:55 · 260 阅读 · 0 评论 -
进程通信之管道
在谈管道之前我们先了解一下什么是进程间通信。 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷贝到内核,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,InterProcess Communication)。如下图所示原创 2017-05-19 18:06:10 · 205 阅读 · 0 评论 -
C++中的对象模型
多态,即度“多种形态“。C++中虚函数的主要作用就是实现多态。简单地说原创 2017-05-07 11:27:39 · 177 阅读 · 0 评论 -
Linux中文件指针和文件描述符的区
文件描述符 在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,其实就是文件数组下标,文件描述符是系统调用层次上的,每个表项都有一个指向已打开文件的指针。文件指针 C语言中使用的是文件指针而不是文件描述符做为I/O的句柄。文件指针指向原创 2017-05-05 20:12:30 · 310 阅读 · 0 评论 -
进程的状态
为了弄清楚正在运行的进程是什么意思,我们需要知道进程的不同的状态。一个进程可以有·7个状态(在Linux内核中,进程有时也叫作任务)。下面的状态在fs/proc/array.c文件中定义:static const char *cionst task_atate_array[]={"R(running)","S(sleeping)","D(disk sleep)","T(stopped)",原创 2017-04-15 21:37:19 · 259 阅读 · 0 评论 -
简单的注释转换
CommentConvert.h#ifndef __COMMENT_CONVERT_H__#define __COMMENT_CONVERT_H__//#define INPUTNAME "input.c"//#define OUTPUTNAME "output.c"#include#includeenum STATE{ NUL_STATE, C_STATE原创 2017-04-12 21:52:31 · 150 阅读 · 0 评论 -
编写myprintf
#include#include#includevoid printInt(int data){ int q=data/10; if(q!=0) { printInt(q); } putchar(data%10+'0');}int myprintf(const char *format,...){ assert(format);原创 2016-12-31 16:10:57 · 965 阅读 · 0 评论 -
递归实现字符串逆置
#include#include#includevoid recursion_print(const char*msg){ if(*msg=='\n') { return; } recursion_print(msg+1); printf("%c",*msg); }int main(){ const char*msg="hellow原创 2016-12-31 15:28:38 · 559 阅读 · 1 评论 -
一个数组中只有两个数字是出现一次的,其他数字都是成对出现,找出这两个数字
#include#includevoid FindTwoData(int *arr,int len){ assert(arr); int result; result=arr[0]; int i=0; for(i=1;i { result ^=arr[i]; } int flag =1; wh原创 2016-12-31 14:55:57 · 457 阅读 · 0 评论 -
求第n个斐波那契数(用非递归实现)
#includeint FBNQ(int n){ int first=1; int second=1; int current=1; while(n>2) { current=first+second; first=second; second=current; n--;原创 2016-12-31 13:49:15 · 273 阅读 · 0 评论 -
递归实现n^k函数
#includeint MulSelf(int n,int k){ if(k--) { return n*MulSelf(n,k); } else { return 1; }}int main(){ int x=0; int y=0; scanf("%d%d",&x,&y); printf("%d\n",MulSel原创 2017-01-02 23:15:13 · 289 阅读 · 0 评论 -
递归实现DiGitSum(n),输入一个人负整数,返回它的个数字之和
#includeint DigitSum(int n){ int sum=0; int m=0; if(n!=0) { m=n%10; n=n/10; sum=m+DigitSum(n); } return sum;}int main(){ int n=1; scanf("%d",&n); printf(原创 2017-01-02 23:13:17 · 232 阅读 · 0 评论 -
实现整形数组的选择排序
#include#includevoid select_sort(int arr[],int n){ int i=0; int j=0; int k=0; for( ;i { k=i; for(j=i+1;j { if(arr[j] k=j; } if(k!=i) {原创 2017-01-02 23:09:14 · 212 阅读 · 0 评论 -
Linux下的crond和crontab
一、基本概念1、crondcrond的概念和crontab是不可分割的。crond是一个命令,常见于Linux/Unix系统之中,用于设置周期性被执行的命令。crontab命令常用于从标准输入设备中读取指令,并将其存放于“crontab”文件中,方便今后的读取和查询。crond则正是crontab的守护进程。二、功能crontab在一定的时间间隔调度一些命令执行。cro原创 2017-07-02 13:19:32 · 250 阅读 · 0 评论