自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 在Linux环境下基于C语言的一个简单的C/S通信程序

这只是初始版本,这个程序不能使多个客户端同时对服务器端的访问,后续会进一步的优化。服务器端:#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<string.h>#include<assert.h>#include<sys/socket.h>...

2019-10-15 20:25:00 440

原创 内联函数

inline是一种用于实现的关键字,而不是一种用于声明的关键字。inline关键字必须与函数体放在一起才能使函数成为内联。例:inline void Sum(int a, int b);void Sum(int a, int b){}//该函数并不是一个真正的内联函数inline void Add(int a, int b){}该函数是一个内联函数1.inline函数和宏的区别 ...

2019-10-15 19:50:24 241

原创 进程间通信->管道

进程间通信:管道,信号量,共享内存,消息队列,套接字管道文件:使用它需要同时有一个进程以写的方式打开,一个进程以读的进程打开有名管道:mikfifo(命令,库函数)创建管道->1命令创建2代码创建管道为空,读,阻塞管道写端关闭,读,read返回值为0管道读端关闭,写,异常->SIGPIPE无名管道:主要用于父子进程之间,pipe创建无名管道,半双工通信fd[0]读数据,f...

2019-10-01 20:51:05 206

原创 目标文件与可执行文件

现在PC平台流行的可执行文件格式主要是windows的PE和linux的ELF,它们都是基于unix的COFF而产生的。目标文件是源代码编译后但未进行链接的中间文件(windows的.obj和linux的.o)。它与...

2019-10-01 20:50:39 273

原创 fork()与进程管理

fork用于复制进程,创建一个子进程,被复制的进程称为父进程,父进程与子进程并发运行先复制一个进程控制块PCB(是一个结构体,在linux中被称为进程描述符),再复制进程实体fork完后,父进程中返回值为pid_t类型,值为子进程的pid,子进程中值为0在两个进程中,逻辑地址相同,物理地址不一定相同,没有可比性刷新缓冲区的条件:1 缓冲区放满,2 强制刷新(fflush(stdout)或者...

2019-06-30 00:30:03 175

原创 init与解压tar及程序的编译链接

init 更改运行级别0关机1单用户模式,只能root(管理员)登入,可用于系统维护2多用户,无NFS(网络)3多用户模式4unused,安全模式5图形界面6重启tar cvf 压缩文件 被压缩文件--------制作tar包gzip 压缩tar zxf 压缩包------解压预编译编译汇编链接...

2019-06-29 23:53:36 205

原创 makefile管理工程与GDB调试

makefile管理工程,实现自动化编译例:管理main.c,max.c,add.cGDB调试    对象:运行着的程序例:gcc -o main main.c -g  gdb mainl:显示代码b+行号:加断点info break:显示断点信息r:运行程序n:单步执行p:打印s:进入函数finish:退出函数b+函数名:加断点q:退出调试...

2019-06-24 00:21:24 215

原创 Vim命令

Vim有三种模式:1命令模式2插入/编辑模式3末行模式命令模式->编辑:i,a,o,I,A,O编辑->命令:ESC命令->末行::,/,?命令模式:复制:yy复制一行,nyy复制n行剪切/删除:dd,ndd删除一个字符:x替换:r替换一个字符,R持续替换粘贴:p撤销一个操作:u消除整行内容并重新插入:cc消除当前至行末尾,并重新插入:C大小写转换:...

2019-05-12 21:28:33 95

原创 Linux基本命令

pwd查看当前位置ls显示当前目录下的文件“ls -l”==“ll”显示文件的详细信息ls -a显示隐藏文件ls -al显示所有信息及隐藏文件cd切换目录cd .当前位置cd …返回上一层目录cd-切换至最近访问的目录cd~切换到家目录cd+相对路径/绝对路径touch创建一个普通文件mkdir创建一个目录文件rmdir删除一个空目录rm删除一个普通文件rm -r删除...

2019-05-12 21:06:10 93

原创 Linux目录结构及文件类型

Linux目录结构:/boot           ~~~~~~~~~~           内核与启动有关的文件/bin      ~~   存放命令...

2019-05-11 10:55:22 109

原创 空指针->无效指针

对一个空指针进行解引用是错误的,会导致程序崩溃,例如下面的代码:int main(){ int a = 10; int *p = &a; p = NULL;//NULL:空指针,是唯一一个表示无效指针 printf("%d\n",*p);//崩溃是正常行为 printf("haha\n"); return 0;}这是因为指针p没有指向任一存储单元,对其进行解引用时不...

2019-04-21 10:18:53 1500 1

原创 字符串常量与字符数组

我们常常用以下两种方式存放字符串:char *st1="abcd";//字符串常量str1[0] = 'x';//errorchar str2[]="abcd";//字符数组str2[0] = 'x';//ok这两种有什么区别呢?首先第一个是字符串常量,str1本质上是一个指针,存放的是字符串首元素的地址,所以不能对其修改。而第二个是字符数组,str2是一个数组,存放的是一个...

2019-04-20 21:15:50 977

原创 不安全函数与后缀为_s更安全的函数

在我们平时常用的函数中,有一些函数是极其不安全的,例如strcpy,strcmp,strcat等字符串函数所以我们平时应该尽量少使用这些不安全函数,现在让我们来编写一个安全函数吧!例如:strcpy_s,我们来编写属于我们自己的函数void Mystrcpy_s(char *des,size_t n,const char *src)//des目标字符串,n目标字符串的大小,src源字符串...

2019-04-20 20:36:17 843

原创 在n进制下,a*b=c,n 等于?

例:在n进制下,有456*567=150216,那么判断n等于多少?将左边的式子展开得(4n2 + 5n+6) * (5n2+6n+7) = n5+5n4+2n2+n+6 ①整理得20n4+49n3+88n2+71n+42 = n5+5*n4+2n2+n+6 ②将①式等号两边同时%n得 41%n=6 ③①式等号两边先同时/n,再同时%n,整理得(...

2019-04-01 17:40:26 239

原创 指针加1

日常生活中我们常用的计算是加减乘除,那么对于指针来说,它却只有加减运算首先我们先讨论指针加一是怎么加的可以参考下列代码int main(){ int arr[10] = {0,1,2,3,4,5,6,7,8,9}; int *p = arr;//将数组arr[0]的地址赋给指针变量p printf("%d\n", p);//查看此时p的地址 printf("%d\n\n" ,*p...

2019-04-01 15:50:09 1431

原创 给一个正整数,顺序和逆序输出每一位数

给一个正整数,求:① 求出它是几位数② 输出每个位上的数③ 逆序输出每一位数例如输入123,则输出 1 2 3 3 2 1 是三位数 ...

2019-03-30 10:49:40 1871

空空如也

空空如也

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

TA关注的人

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