- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 堆和栈的概念和区别
下面我们通过一个图例详细讲一下堆和栈:比如主函数里的语句 int [] arr=new int [3];在内存中是怎么被定义的:主函数先进栈,在栈中定义一个变量arr,接下来为arr赋值,但是右边不是一个具体值,是一个实体。实体创建在堆里,在堆里首先通过new关键字开辟一个空间,内存在存储数据的时候都是通过地址来体现的,地址是一块连续的二进制,然后给这个实体分配一个内存地址。数组...
2020-01-27 13:28:07 431
原创 栈的操作
数据结构——栈的基本实现与讲解(C++描述)栈的定义栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 ——百度百科简单定义...
2020-01-21 19:06:54 651
原创 C++ string 类详解
字符串是存储在内存的连续字节中的一系列字符。C++ 处理字符串的方式有两种,一种来自 C 语言,常被称为 C-风格字符串,另一种是基于 string 类库的字符串处理方式。C 风格字符串的处理可以参考 https://www.cnblogs.com/tongye/p/10688941.html ,本文着重介绍 string 类库的使用。一、string 类简介C++ 中提供了专门的头文件 st...
2020-01-21 18:42:19 260
原创 如何求C语言字符串长度(strlen函数和sizeof关键字)
C语言字符串长度的计算是编程时常用到的,也是求职时必考的一项。C语言本身不限制字符串的长度,因而程序必须扫描完整个字符串后才能确定字符串的长度。在程序里,一般会用strlen()函数或sizeof来获取一个字符串的长度,但这2种方法获取的字符串的长度其实是不一样,我们用如下函数进行测试:void test6(){char s1[20] = “hello world”;char s2[2...
2020-01-21 15:48:06 5399
原创 三个标准的输入输出的用法
stdin stdout stderr文件描述符分别为0 1 2在C中,程序执行时,一直处于开启状态stdout输出到磁盘文件,stderr在屏幕。
2020-01-19 10:12:38 240
转载 /usr/include/sys/types.h基本系统数据类型
https://blog.csdn.net/Rong_Toa/article/details/79254677
2020-01-19 09:56:52 353
原创 ubuntu18.04修改时间问题
首先看windows端直接进行设置https://jingyan.baidu.com/article/fedf073781c56235ac897788.html然后看ubuntu端windows10和ubuntu16.04双系统下时间不对的问题先在ubuntu下更新一下时间,确保时间无误:sudo apt-get install ntpdatesudo ntpdate time.wi...
2020-01-17 20:23:12 3357
转载 Linux下Makefile详解
https://blog.csdn.net/qq_38646470/article/details/79917494
2020-01-17 15:51:43 84
原创 Linux下g++编译与使用静态库和动态库
在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(.lib)与动态库(.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库(.a)与动态库(.so)的生成与使用方式是不同的。刚开始可能会不适应,但是用多了应该会习惯这种使用,因为步骤上并没有VS下配置那么繁琐。下面就分别总结下linux下生成并使用静态库与动态库的方法:(由于...
2020-01-16 20:24:00 422
原创 Peterson算法
算法概要Peterson算法是基于双线程互斥访问的LockOne与LockTwo算法而来。[3]LockOne算法使用一个flag布尔数组,LockTwo使用一个turn的整型量,都实现了互斥,但是都存在死锁的可能。Peterson算法把这两种算法结合起来,完美地用软件实现了双线程互斥问题。算法使用两个控制变量flag与turn. 其中flag[n]的值为真,表示ID号为n的进程希望进入该临界...
2020-01-16 10:15:15 2794
转载 《现代操作系统(中文第四版)》笔记 第一章 引论
既然买了《现代操作系统》(《Modern Operating System》)这本书,那就好好学习一下吧,这是第一篇读书笔记。##第一章 引论计算机系统总的来说分为软件和硬件,如下图所示。多数计算机有两种运行模式:内核态和用户态。软件中最基础的部分是操作系统, 它运行在内核态。操作系统具有对所有硬件的完全访问权限,可以执行机器能够运行的任何指令。 其他软件运行在用户态,只能使用部分机器指令。特...
2020-01-15 18:21:35 256
原创 squid代理服务器
Ubuntu删除文件的命令https://blog.csdn.net/u011851421/article/details/83113890教你如何在vi和vim上查找字符串https://jingyan.baidu.com/article/0aa2237505923488cc0d64f6.htmlsquid代理服务器https://blog.csdn.net/panqidong95/a...
2020-01-13 22:39:30 90
原创 socket()编成下inet_ntoa() and inet_addr()函数的使用
这是参考程序的网址https://www.csdn.net/a4150902/article/details/7419995自己实现:#include<stdio.h>#include<arpa/inet.h>void typeorder(){union{short value;char array[sizeof(short)];}test;test...
2020-01-11 22:28:17 188
原创 Ubuntu18.4下使用ftp
1.安装ftp服务sudo apt-get install vsftpd2.重新启动 vsftpd 服务:sudo /etc/init.d/vsftpd restart
2020-01-09 15:58:32 326
原创 Ubuntu 18.04安装gcc、g++ 4.8
https://blog.csdn.net/a145127/article/details/88954122比较好,已经试过可行
2020-01-09 09:11:00 581
原创 ICMP重定向实验
发生ICMP重定向常见的两种情况:路由器收到数据报的接口与去往目的地址的出口相同时,会发生ICMP重定向;数据报的源地址和自己的下一跳在同一网段时,会发生ICMP重定向。下面通过一个实验来看一下: 基本拓扑图如下:ip地址如图所示,在R3上做配置,使其相当于一台主机,网关设置为R1的e0/1接口。no ip routingip default-gateway 192.168.12...
2020-01-07 20:28:06 1161
原创 Ubuntu18.04 安装和启动telnet服务以及遇到的问题
安装openbsd-inetdsudo apt-get install openbsd-inetd -y安装telnetdsudo apt-get install telnetd -y重启openbsd-inetdsudo /etc/init.d/openbsd-inetd restart查看telnet运行状态sudo netstat -a | grep telnet运行结果:...
2020-01-06 22:31:06 1929
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人