自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (6)
  • 收藏
  • 关注

原创 数组指针和指针数组、指针函数和函数指针、指针常量、常量指针、函数指针数组

数组指针:指向数组的指针int (*p)[n]“()”的优先级高于“[]”,因此,p和“*”结合,构成一个指针,该指针名为p,int修饰的是数组的内容,即数组的每个元素。也就是说p是个指针,该指针指向具有n个整型的一维数组。int (* arrPtr)[10] = NULL; // 一个指针,它指向一个有10个int元素的数组int matrix[3][10]; // 数组名称是一个指向第一个元素的指针,也就是第一行的指针arrPtr = matrix; .

2021-04-29 18:04:44 126

原创 C语言快速排序算法

快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序法的基本精神是在数列中找出适当的轴心,然后将数列一分为二,分别对左边与右边数列进行排序,而影响快速排序法效率的正是轴心的选择。快速排序流程:(1) 从数列中挑出一个基准值。(2) 将所有比基准值小的摆放在基准前面

2020-11-10 17:13:11 667

转载 void (*signal(int signo, void (*fun(int))))(int)的理解

*int (p)();这是一个函数指针, p所指向的函数是一个不带任何参数, 并且返回值为int的一个函数.*int (fun())();这个式子与上面式子的区别在于用fun()代替了p,而fun()是一个函数,所以说就可以看成是fun()这个函数执行之后,它的返回值是一个函数指针,这个函数指针(其实就是上面的p)所指向的函数是一个不带任何参数,并且返回值为int的一个函数.**void (signal(int signo, void (fun)(int)))(int);就可以看成是signal(

2020-11-05 11:28:09 495

原创 TCP/IP随笔

TCP/IP笔记1. 网络基础知识计算机网络:WAN-广域网,LAN-局域网。协议:简单说,就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定”。TCP/IP协议是IP、TCP、HTTP等协议的集合。通信协议中,通常会规定报文首部应该写入哪些信息、应该如何处理这些信息。相互通信的每一台计算机则根据协议构造报文首部、读取首部内容等,为了双方能正常通信,分组的发送方和接收方有必要对报文首部和内容保持一致的定义。协议的理解OSI 7层模型理解:发送方从第七层到第

2020-08-10 17:41:39 258

原创 数组随笔

一维数组在C中,在几乎所有使用数组名的表达式中,数组名的值是一个指针常量,也就是数组第一个元素的地址。只有在两种场合下,数组名不用指针常量表示:当数组名作为sizeof操作符或者单目操作符&的操作数时。sizeof返回整个数组的长度,而不是指向数组的指针的长度,去一个数组名的地址所产生的是一个指向数组的指针,而不是一个指向某个指针常量值得指针。int a[10];int b[10];...c = &a[0];表达式&a[0]是一个指向数组第一个元素的指针,和下面这.

2020-07-09 11:31:44 113

原创 使用VMware扩展Centos磁盘空间(Centos)

扩展Linux根目录磁盘空间(Centos)参考自:https://my.oschina.net/u/876354/blog/9678481.fdisk -l //查看分区情况…Device Boot Start End Blocks Id System/dev/sda1 * 2048 1050623 524288 83 Linux/dev/sda2 1050624 41943039

2020-07-08 12:00:53 2036

原创 centos7-Mini版静默安装Oracle11

参考自:https://blog.csdn.net/chenghuikai/article/details/85776622https://www.cnblogs.com/lei01/p/10688036.html使用以下安装部署的命令,已成功在centos7-Mini版部署好了oracle提示:本人使用虚拟机VMware的centos7安装Oracle时,配置的内存是20G,安装Oracle后总是有问题,不清楚是否自己配置出错了还是不够内存,当将内存升到50G时才正常启动了。配置hostnam

2020-07-08 11:46:16 310

原创 C语言可变参数函数的理解

可变参数列表时通过宏来实现的,这些宏定义于stdarg.h头文件中,是标准库的一部分,此外还声明了一个类型va_list和三个宏——va_start、va_arg和va_end。可以声明一个类型为va_list的变量,与这几个宏配合使用,访问参数的值。(常见的使用可变参数列表的函数是pirntf和scanf,有时间研究下)例子://计算指定数量的值得平均值#include <stdio.h>#include <stdarg.h>float average(int n_v

2020-07-08 10:36:32 160

原创 C语言指针随笔

声明变量:int a = 112, b = -1;float c = 3.14;int *d = &a;float *e = &c;变量d和e声明为指针变量,并用其他变量的地址予以初始化。d和e的内容是地址而不是整型或浮点型数值。从图中可以看出d的内容与a的存储地址一致,而e的内容与c的存储地址一致,这是我们对这两个指针进行初始化时所期望的结果。注意:不能简单的认为由于d和e是指针,所以它们能自动获得存储于位置100和108的值(即112和3.14),因为变量的值就是.

2020-07-07 16:28:29 152

原创 C和指针随笔

1.gets函数丢弃换行符,并在该行的末尾存储一个NUL字节。2.NUL是ASCII字符集中’\0’字符的名字,它的字节模式为全0。NULL指一个其值为0的指针。3.数组参数是以引用的形式进行传递的,即是传址调用,而标量和常量则是按值传递的。当数组名作为实参,传给函数的实际上是一个指向数组起始位置的指针,也就是在内存中的地址,正是实际传递的是一个指针而不是一份数组的拷贝,才使得数组名作为参数时具备了传址调用的含义。4.函数void fuction(int array[], int len){};未指定

2020-07-02 16:23:09 128

原创 const分析

foo1(const char *p){}foo2(const char **p){}int main(int argc, char **argv){ char *s = NULL; foo1(s); char **t = NULL; foo2(t); return 0;}对于该段代码,在编译的时候会发出警告:warning: passing argument 1 of ‘foo2’ from incompatible pointer .

2020-07-01 14:47:36 1852

TCPserver.c

该程序使用C语言实现了网络编程中的短连接方式的服务器,进程管理、超时信号等的小型代码。

2019-09-04

TCPNetKit.rar

这是一个很实用的TCP网络通信例子,既可以做客户端,也可以做服务端,方便实用。

2019-05-27

Linux内核链表实现多客户端连接服务器进行通信及文件传送

使用Linux内核链表实现多客户端连接服务器,里面有三种功能,1、TCP多人连接客户端,服务器可以把信息发给多个用户;2、TCP多人连接客户端,可以把信息发给指定的某个用户;3、服务器接收多个客户端传送过来的文件。

2018-01-10

Linux线程池目录拷贝

实现了Linux线程池目录拷贝的功能,包含了线程池,目录检索,文件IO操作,供学习使用。

2018-01-10

Linux链式栈搜索指定目录下的文件

该文件实现了使用在Ubuntu Linux平台链式栈搜索指定目录下的文件,比如搜索某个路径下的.c文件等。以初级学习使用。

2018-01-10

空空如也

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

TA关注的人

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