自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 指针和引用的区别

1.本质区别:引用是别名,指针是地址2.具体解释:指针在运行时可以改变所指向的值,而引用一旦与某个对象绑定后就不再改变

2020-03-23 16:36:18 137

原创 关键字static的作用-C语言

C语言中:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。...

2020-03-23 16:29:57 157

原创 TIME_WAIT 状态存在的意义

一:什么是TIME_WAIT:tcp连接后,在四次握手之后,先发FIN标志位的一端就会进入time_wait状态。二:存在意义:1.可靠的终止TCP链接/保证挥手能够可靠运行2.有时间识别迟来的数据包并且丢弃...

2020-03-07 22:32:56 443

原创 三次握手与四次挥手详解以及可能的面试题

一、三次握手与四次挥手1.三次握手:第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RE...

2020-03-07 22:01:25 267

原创 OSI 7 层模型与 tcp/ip 协议 4 层模型

OSI七层模型:从上到下:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层TCP/IP协议4层:应用层、传输层、网络层、数据链路层...

2020-03-07 18:43:47 111

原创 进程标识与进程创建(pid, fork)

一、进程标识(pid) 每个进程都有一个非负整数形式的唯一编号,即 PID。PID 在任何时刻都是唯一的,但是可以重用,当进程终止并被回收以后,其 PID 就可以为其它进程所用。进程的 PID 由系统内核根据延迟重用算法生成,以确保新进程的 PID 不同于最近终止进程的 PID。二、进程创建(fork)和父子进程#include <unistd.h>pid_t ...

2020-03-07 18:25:56 359

原创 冒泡排序

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。1.算法描述(1)比较相邻的元素。如果第一个比第二个大,就交换它们两个;(2)对每一对相邻元素作同样的工作,从开始第一对到结尾的最后...

2020-03-06 19:21:00 126

原创 Mysql基本查询语句使用

单表1.普通查询select * from stu; //同匹 查询表中所有信息 不建议select id,name,sex,age from stu;//2select *from stu where id = “001”;2.去重查询 distinct3.排序查询 order by *** asc/desc多表4.分组查询 group byselect i...

2020-03-05 20:10:27 167

原创 C语言:递归函数的递归出入栈的基本图解

1.递归入栈:由Age(5)->Age(1)2.递归出栈:

2019-05-20 17:55:11 1903

原创 C语言:位运算相关总结

1.位运算符号&,|,^,~(取反,不分正负数),<<(标准规定在右边补0),>> (正数则左边补0,负数标准没有规定在左边补充的数字,分为逻辑右移和算术右移,具体由编译器决定,windows平台和gcc采取算术右移即负数补1)2.常见的二进制位的变换操作去掉最后一位 | (101101->10110) | x >> 1在最后加一...

2019-05-20 17:50:41 214

原创 Linux:基本操作命令以及文本操作命令

1.基本操作命令:2.文本相关命令

2019-05-20 17:46:38 133

原创 Linux:目录结构以及对应作用

1.目录结构:2.每个目录相对应的作用:

2019-05-20 17:41:26 135

原创 C语言:va_list的用法

一、n的作用: 1.定位...; 2.确定...中数据的个数二、求n个数的平均值: 相关代码以及注释int Avg(char n,...){ int sum = 0; va_list list;//char *list; va_start(list,n);//list定位到...的开头 for(int i=0;i<n;i+...

2019-05-20 17:37:13 2402

原创 C语言:泛型编程的一些注意事项

1.void *:没有特定类型的指针(泛型指针,通用指针)2.特定指针 -> 通用指针:C可以;C++可以 通用指针 -> 特定指针:C可以; C++不可以3.例:在无序的数组arr中查找关键字key,找到返回下标,失败返回-1int Search_int(int *arr,int len,int key){ for(int i=0;i<l...

2019-05-20 17:31:45 199

原创 公司笔试题:假设在n进制下,567*456=150216,则n的值是()

解题思路第一步:利用进制的计算方法,可获得如下算式(5n^2+6n+7 )*(4n^2+5n+6)=20n^4 =49n^3+88 n^2+71n+42=n^5 +5n^4 +2n^2+n+6 ①第二步:对①式两边同%n,对n取余42%n=6 ②右边个位数为6,进制数余数不是6的进制第三步:①的两边同时除以n,然后在同时%n(71+41/n)%n=...

2019-04-01 14:22:40 412

原创 C语言:关于指针加法的运算

首先有三种思路:1.加整个数组:若加整个数组,则无法具体访问数组中某个元素,因此这个思路无法继续进行2.加一个字节:若加一个字节,则元素地址变化如下:这种方法很繁琐,一般不进行使用3.增加一个单元格(基本使用这个方法):运算公式如下:指针+i,表示加i个单元格,其加i*sizeof(指针本身去掉一个*)字节代码实现如下:int main(){...

2019-04-01 14:14:00 1242

原创 C语言:如何将两个数的值进行交换

1.建立tmp临时变量(最易理解,使用最多)int main(){ int a=10; int b=20; int tmp=a; a=b; b=tmp; printf("%d,%d",a,b);}缺陷:无法把子函数中进行交换的值传递到父函数中,例如void Swap(int a,int b){ int tmp=a; a=b; b=tmp;}int ma...

2019-04-01 13:56:44 2815

原创 C语言课后习题:给一个不多于5位的正整数,要求如下:

1.求出它是几位数:①核心思想:进入一个从0开始的循环,让这个正整数依次对10取余,所得余数再对10取余,直到余数为0,循环结束,循环次数就是该正整数的位数②代码如下:int GetFigures(int n){ int count = 0; do { count++; n /= 10;//对10取余,再取余 }while(n != 0);//当余数为零时,循环结...

2019-04-01 13:47:10 21765

空空如也

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

TA关注的人

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