自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaoxiaoyu

xiaoxiaoyu

  • 博客(14)
  • 收藏
  • 关注

原创 栈的应用之括号匹配问题

给一个字符串,那这个程序是可以检测你的字符串中所含的括号是否匹配。原理是:我们从左向右遍历字符串,如果我们遇到左括号如‘(’,我们就将这个左括号进栈,如遇到右括号‘(’,我们就将栈顶元素与该右括号比较,看他们是否匹配,若匹配,则让栈顶元素出栈,若不匹配,则就输出相应的提示信息void IsMatch(char* str)//判断括号是否匹配,其实没必要用老师的测试。当然苦括号有大括号,...

2018-05-29 00:48:53 3100

原创 表达式求值

表达式求值的顺序一部分是由操作符的优先级和结合性决定,同样,有些表达式的操作数在求值的过程中可能需要准换为其它类型。隐式类型转换:C的整型算术运算总是至少以缺省类型的精度来进行的,为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整形,这种转换称为整形提升。如:char a,b,c; a=b+c;b和c的值被提升为普通整形,然后在执行加法运算。加法运算完成之后,结果将被截断,然后...

2018-05-21 07:50:52 368

原创 Linux编译器gcc的使用和每一步的作用

第一部分:gcc的使用gcc如何使用呢?格式 gcc 选项 要编译的文件 选项 目标文件比如:gcc-E helllo.c -o hello.i选项“E”,该选项的作用是让gcc在预处理结束后停止编译过程,选项“-o”是指目标文件,".i"文件为已经过预处理的C原始程序。预处理是以#号开头的代码行预处理的主要功能包括宏替换,文件包含,条件编译,去注释等;编译(就...

2018-05-19 00:25:04 2313

原创 操作系统之随笔

我们将程序的地址空间有低地址到高地址分为正文代码,初始化数据,未初始化数据 ,堆,共享区,栈,命令行参数环境变量,内核空间。早期内存管理机制:要运行一个程序,会把这些程序全都装入内存,当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小问题。进程地址空间不隔离,由于程序都是直接访问物理内存,所以恶意程序可以随意修改别的进程的内存数据,以达到破坏的目的。...

2018-05-18 23:13:34 87

原创 操作系统之进程的基础知识

操作系统包括内核(进程管理,内存管理,文件管理,驱动管理)和其它程序(函数库,shell程序等)设计OS的目的:与硬件交互,管理所有软硬件资源和为用户程序(应用程序)提供一个良好的执行环境。定位:在整个计算机软硬件架构中,操作系统的定位是:一款纯正的搞管理的软件。计算机管理硬件:描述起来,用struct结构体,组织起来,用链表或其他高效的数据结构,这样就会形成一个进程队列;系统调用...

2018-05-18 20:49:55 184

原创 SocketAPI的一些常用函数

int  listen(SOCKET sockfd,int backlog);头文件:#include<sys/types.h>使服务器端的流套接字处于监听状态,仅服务器端调用,仅用于面向连接的流套接字;sockfd: 一个已绑定未被连接的套接字描述符backlog:连接请求队列的最大长度功能:listen函数使用主动连接套接字变为被连接套接口,使得一个进程可以接受其它进程的请求,从而...

2018-05-17 21:28:46 905

原创 计算机的重要部件之存储器

存储器顾名思义当然是用来存储东西的,哈哈,是的在计算机中我们用存储器来存储数据。存储器又分为主存储器,简称主存,和高速缓冲存储器,那这个高速缓冲存储器通常是集成在cpu中的,高速缓冲存储器中常常放一些我们要用的频率高的数据。当然还有硬盘,我们也把它称之为存储器,那我们在硬盘中存放的是我们一般不常用的文件,其实硬盘就像一个仓库一样,是来保存我们不常用的数据的。那我今天主要要说的是主存,主存在计算机中...

2018-05-15 00:12:35 330

原创 数据在内存中的存储

计算机是由 cpu 存储器,输入输出设备这些基本硬件组成的,满足冯诺伊漫体系,可是这些硬件只能识别基本的0 1序列,所以也就决定了我们的数据在计算机必须按照按照二进制进行存储。在数学中,我们常用的数为正数,负数,和0这三种,那我们常用的这三种数在计算机中到底是怎么存储的呢,我们先来说说正整数,负整数,0,在计算机中是怎样存储的,毫无疑问它们在计算机中都是以二进制进行存储的如+3,-4,在计算机中我...

2018-05-14 23:27:52 212

原创 对递归进行分析一下

其实以前都特别的不理解递归,看到别人在解决复杂问题时,总是通过几行代码就解决了,心理很纳闷。最后分析了一下递归代码,才知道了递归的奥妙所在。下面我写一个程序来分析一下。int sum(n){   if(1==n)     return 1;  else     return sum(n-1)+n;}这个函数是求1+2+3+....+n的和,当n=3时,会返回sum(2)+3,那实际上sum(2)+...

2018-05-14 21:54:07 576

原创 对main函数参数的解析

其实学习C语言以来,一直在用main函数来实现我们先要的逻辑功能。int main(){ printf("hello world");   return 0;}上面是一个简单的main函数,可以看到main函数中是没有的形参的,但看到的不一定就是真的,实际上它是有的。main函数是有三个参数的,可以这样写来说一下,int main(int argc, char*argv[],char *envp[...

2018-05-14 20:41:49 245

原创 如何求结构体所占内存大小

1 .要计算结构体所占的内存大小,首先得掌握结构体计算所要掌握的方法;下面以代码为例来说明。#include<stdio.h>int main(){ struct s3 { double d; char c; int i; };printf("%d", sizeof(struct s3));}...

2018-05-14 20:22:23 2087

原创 宏和函数

一 宏: 一种批量处理的称谓,一般说来,宏是一种规则或模式,或称语法替换,用于说明某一特定输入 ,如何根据预定义规则转换成对应的输出,这种替换在预编译时进行,我们把它称做宏展开。计算机函数:为一个固定的一个程序段,或称其为一个子程序 ,它在可以实现固定运算的同时,还带有一个入口,所谓的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序,供计算机处理,所谓出口,就是...

2018-05-11 21:14:23 99

原创 操作系统之进程,线程的浅谈

最近一直在读操作系统这本书,读了好久了,今天想写一下,自己对进程,线程的理解。想来想去,还是用一个程序来解释一下吧!请看下面的程序#include<stdio.h>int main(){    int a=0,b=0;    a=3;    b=4;  printf("%d %d",a,b);return 0;}我写的是一个主函数,其实我想说,进程其实就是一个程序的一次执行,那怎样执行...

2018-05-11 19:46:34 146

原创 链表,顺序表的一些基本函数的实现

最近在学习数据 结构的顺序表,和链表,完成了它们的接口函数,想来想去,觉得它们就是在栈中开辟的一些临时的存储空间,然后我们编写程序,对它们进行操作,来完成我们想要的输出。一 下面是单链表的一些基本接口的操作函数#include"SList.h"typedef int DataType;typedef struct ListNode{ struct SListNode* _next; Dat...

2018-05-11 18:35:28 217

空空如也

空空如也

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

TA关注的人

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