首页
学习
活动
专区
工具
TVP
发布

猿人谷

微信公众号:猿人谷
专栏作者
304
文章
452177
阅读量
44
订阅数
进程控制实验--fork()
进程的控制 实验目的 1、掌握进程另外的创建方法 2、熟悉进程的睡眠、同步、撤消等进程控制方法 实验内容 1、用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容 2、利用wait( )来控制进程执行顺序 实验指导 一、所涉及的系统调用 在UNIX/LINUX中fork( )是一个非常有用的系统调用,但在UNIX/LINUX中建立进程除了fork( )之外,也可用与fork( ) 配合使用的exec( )。 1、exec(  )系列 系 统调用exec( )系列,也可用于新程序的运
猿人谷
2018-01-17
2.3K0
使用鼠标
C语言Windows程序设计 -> 第十一天 -> 使用鼠标 鼠标的使用同样是通过获取Windows鼠标消息来获取用户当前的鼠标状态的。 一、鼠标的介绍     鼠标是计算机的输入设备之一, 在图形化的操作系统上, 鼠标的使用使一些复杂的操作变得简单, 随着科技的进步, 鼠标的种类也越来越多, 按接口类型可分为串行鼠标、PS/2鼠标、总线鼠标、USB鼠标(多为光电鼠标)四种。按其工作原理及其内部结构的不同可以分为机械式,光机式和光电式。     这里我们不讨论鼠标的硬件构造, 更多关于鼠标的硬
猿人谷
2018-01-17
2.5K0
线性表简介
学习数据结构 -> 线性表 -> 线性表的介绍     线性表是一种典型的数据结构, 线性结构的基本特点是线性表中的数据元素是有序且有限的, 在线性结构中, 有且仅有一个被称为"开始数据元素"和一个"最后数据元素", 除了开始数据元素没有直接前驱, 最后一个数据元素没有直接后继外, 其余的数据元素有且仅有唯一的一个直接前驱和直接后继。     整理下来说, 线性表具有如下基本特征:         1>. 线性结构中必然存在唯一一个"开始数据元素" ;         2>. 线性结构中必然存
猿人谷
2018-01-17
6200
C++拷贝构造函数
     拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。 调用拷贝构造函数的情形 在C++中,下面三种对象需要调用拷贝构造函数(有时也称“复制构造函数”): 1) 一个对象作为函数参数,以值传递的方式传入函数体; 2) 一个对象作为函数返回值
猿人谷
2018-01-17
1.9K0
grep命令
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。 grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0
猿人谷
2018-01-17
2K0
strcpy函数和strncpy函数的区别
strcpy函数和strncpy函数的原型介绍在我的另一篇文章中介绍了,见strcpy,strncpy,strlen等函数原型 strcpy:字串复制   原型:char *strcpy(char *dest, char *src);   功能:把src所指由'\0'结束的字符串复制到dest所指的数组中。   说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。   返回指向dest的指针。   注意:当src串长度>dest串长度时,程序仍会将整个src
猿人谷
2018-01-17
2.7K0
浅谈C/C++中的指针和数组(一)
                                                       浅谈C/C++中的指针和数组(一)       指针是C/C++的精华,而指针和数组又是一对欢喜冤家,很多时候我们并不能很好的区分指针和数组,对于刚毕业的计算机系的本科生很少有人能够熟练掌握指针以及数组的用法和区别。造成这种原因可能跟现在大学教学以及现在市面上流行的很多C或者C++教程有关,这些教程虽然通俗易懂,但是在很多关键性的地方却避而不谈或者根本阐述不清楚,甚至很多时候阐述的是错误的观点。一般
猿人谷
2018-01-17
8120
C语言内存地址基础
从计算机内存的角度思考C语言中的一切东东,是挺有帮助的。我们可以把计算机内存想象成一个字节数组,内存中每一个地址表示 1 字节。比方说我们的电脑有 4K 内存,那这个内存数组将会有 4096 个元素。当我们谈论一个存储地址的指针时,就当相于我们在谈论一个存储着该内存数组某个元素索引的指针。逆向引用某个指针,将会得到数组中该索引所指向的 值。这一切当然都是谎言。操作系统对内存的管理要远比这复杂。内存不一定连续,也不一定按顺序处理。但前面的类比是一种讨论C语言内存的简单方式。 如果对『指针』、『地址』和『逆向引
猿人谷
2018-01-17
2.5K0
static用法详解
一. 面向过程程序设计 1、静态全局变量   在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1   #include <iostream.h>   void fn();   static int n; //定义静态全局变量 void main()     { n=20;     cout<<n<<endl;     fn();     }   void fn()     { n++;     cout<<n<
猿人谷
2018-01-17
1.1K0
总结c++ primer中的notes
C++ Primer, Fourth Edition (中英文)下载地址:http://download.csdn.net/detail/ace_fei/4165568 以下内容截取自该书籍,都是一些基础而又容易忽略的知识点。 初窥输入/输出 endl 是一个特殊值,称为操纵符,将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。通过刷新缓冲区,用户可立即看到写入到流中的输出。 比如下面这段程序可以看出,如果没有cout << endl;刷新缓冲区, 那么要等10秒后,程序结束时,才能打印出字
猿人谷
2018-01-17
1.6K0
小瓜牛漫谈 — String
String 类在 Java 中代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。 1 public static void main(String[] args) { 2 3 String str1 = "abc"; 4 String str2 = new String("cde"); 5 System.out.println(str1); 6 System.out.println(str2); 7 } 在上面代码中, 第 4
猿人谷
2018-01-17
6040
快速排序
今天介绍快速排序,这也是在实际中最常用的一种排序算法,速度快,效率高。就像名字一样,快速排序是最优秀的一种排序算法。 思想 快速排序采用的思想是分治思想。 快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的 元素值 都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正确位置。最后每个元素都是在排序后的正 确位置,排序完成。所以快速排序算法的核心算法是分区操作,即如何
猿人谷
2018-01-17
8190
《C++ primer》--第1,2章小结
 1、变量初始化:  定义变量时,应该给变量赋初始值,除非确定将变量用于其他意图之前会覆盖这个初值。如果不能保证读取变量之前重置变量,就应该初始化变量。变量的初始化如下: int val1 = 0; //初始化   int val2;       //未初始化 2、编译器的部分功能: 查错 语法错误 类型错误 声明错误     3、从键盘输入文件结束符  OS使用不同的值作为文件结束符。Windows系统下通过输入Ctl+z来输入文件结束符,Unix中通常是Ctl+d。 4、整型(integral
猿人谷
2018-01-17
8450
Java初学总结
1.对象的比较    “==”操作符用于比较两个对象的内存地址值是否相等    equals() 方法用于比较两个对象的内容是否一致  如下列: 1 public class text3 { 2 3 public static void main(String[] args) { 4 String str1 = new String("java"); 5 String str2 = new String("java"); 6 String
猿人谷
2018-01-17
6890
C++ primer里的template用法
template 的用法     在程序设计当中经常会出现使用同种数据结构的不同实例的情况。例如:在一个程序中     可以使用多个队列、树、图等结构来组织数据。同种结构的不同实例,也许只在数据元素
猿人谷
2018-01-17
1.3K0
apue.h头文件
    最近在学习UNIX的编程,用的书是《UNIX环境高级编程》,看到书中有很有实例,我用的操作系统是RadHat,照着书把程序清单输入后编译却通不过,显示的错误是没有“apue.h头文件”。这下对我这只菜鸟来说就是当头一棒,这不坑爹吗?就照着书把程序再抄了一遍,发现出现同样的问题,这下引起我的思考。原来apue.h是作者自己写的一个文件,包含了常用的头文件,系统不自带。其中包含了常用的头文件,以及出错处理函数的定义。需要自己去配置这样的头文件,特将解决的方法总结如下:    在http://www.ap
猿人谷
2018-01-17
2.2K0
单链表
线性表的链式表示和实现       线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以使不连续的)。因此,为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系对数据元素ai来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。这两部分信息组成数据元素ai的存储映像,称为结点。      结点包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存储位置的域称为指针域。指针域中存储的信息称做指针或链。n
猿人谷
2018-01-17
9170
在O(1)时间删除链表结点
题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。 函数的声明如下: void DeleteNode(ListNode** pListHead, ListNode* pToBeDeleted);   分析:这是一道广为流传的Google面试题,能有效考察我们的编程基本功,还能考察我们的反应速度,更重要的是,还能考察我们对时间复杂度的理解。 注意函数的第一个参数pListHead是一个指向指针的指针。例如,当我们往一个空链表中插入一个结点时,新插入的结点就是链表的头指针。由于此时会改动头指针,因
猿人谷
2018-01-17
7930
二分查找法的实现和应用汇总
在学习算法的过程中,我们除了要了解某个算法的基本原理、实现方式,更重要的一个环节是利用big-O理论来分析算法的复杂度。在时间复杂度和空间复杂度之间,我们又会更注重时间复杂度。 时间复杂度按优劣排差不多集中在: O(1), O(log n), O(n), O(n log n), O(n2), O(nk), O(2n) 到目前位置,似乎我学到的算法中,时间复杂度是O(log n),好像就数二分查找法,其他的诸如排序算法都是 O(n log n)或者O(n2)。但是也正是因为有二分的 O(log n), 才让很
猿人谷
2018-01-17
1.1K0
eclipse在Ubuntu 13.04下的安装过程及问题小记
一、eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包  下载地址:http://www.eclipse.org/downloads/
猿人谷
2018-01-17
9240
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档