- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 排序算法——一篇文章搞懂常用的排序算法
1.排序的概念及应用1.1排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序...
2020-02-17 21:59:50 3304 28
原创 一文搞懂堆和栈的区别
编程经常需要操作的内存栈区(stzck):由编译器自动分配和释放,存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。它与数据机构中的堆是两回事,分配方式类似于链表。全局区(静态区)(static):全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域,未初始化的全...
2020-02-13 16:22:27 2382 1
原创 进程控制
进程创建fork函数初识在linux中fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。#include <unistd.h>pid_t fork(void);//返回值:子进程中返回0,父进程返回子进程id,出错返回-1进程调用fork,当控制转移到内核中的fork代码后,内核做:分配新的内存块和内核数据结构给子进程将...
2020-02-28 23:23:43 152
原创 fork函数
forkfork)是UNIX或类UNIX中的分叉函数,fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行,就像是两个用户同时启动了该应用程序的两个副本。从一个软件包拷贝了一份源代码然后在其上进行独立的开发,创建不同的软件。介绍:fork系统调用用于创建一个新进程,称为子进程,它与父进程同时运行,。创建...
2020-02-28 13:22:20 345
原创 进程概念
1 操作系统概念任何计算机系统都包含一个基本的程序集合,称为操作系统(OS)。笼统的理解,操作系统包括:内核(进程管理,内存管理,文件管理,驱动管理)其他程序(例如函数库,shell程序等等)设计OS的目的与硬件交互,管理所有的软硬件资源为用户程序(应用程序)提供一个良好的执行环境定位在整个计算机软硬件架构中,操作系统的定位是:一款纯正的“搞管理”的软件总结计算机管...
2020-02-28 12:51:19 222
原创 字符函数和字符串函数
目录:求字符串长度:strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrtok错误信息报告strerror字符操作内存操作函数memcpymemmovememsetmemcmp1.strlensize_t strlen ( const ...
2020-02-25 12:54:54 203
原创 指针总结
指针的概念指针就是个变量,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4/8个字节(32位平台/64位平台)。指针是有类型,指针的类型决定了指针的±整数的步长,指针解引用操作的时候的权限。指针的运算。字符指针在指针的类型中我们知道有一种指针类型为字符指针 char*使用方式:#include<iostream>using namespace std;...
2020-02-24 15:41:06 184
原创 深度剖析数据在内存中的存储
数据类型介绍C语言基本的内置类型:char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数类型的意义:使用这个类型开辟内存空间的大小(大小决定了使用范围)。如何看待内存空间的视角类型的归类:整型char unsigned char signe...
2020-02-23 23:11:06 200
原创 结构体
结构体的声明结构的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量结构的声明struct tag{ member-list;}variable-list;例:typedef struct student{ int sid; .//学号 char name[20]; //姓名 int age;//年龄 char tel[15];//电...
2020-02-23 20:11:45 544
原创 数组大小分配(动态内存分配)
在使用数组的时候,总是有一个问题,数组应该有多大?在很多情况下,我们无法确定要使用多大的数组。一般申请大于估计数目的固定大小,这样程序在运行时就申请了固定的大小,你觉得数组定义足够大,但是如果某种原因,数组的个数增大或减小,你又必须重新修改程序,扩大数组的存储范围。这种分配固定大小内存分配的方法称为静态内存分配。但是这种分配方法存在比较严重的缺陷,特别是处理某些问题时,在大多数情况下会浪费大量的...
2020-02-22 21:31:40 5631 4
原创 static有什么作用?
关键字static的作用是什么函数体static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值在模板内的static全局变量可以被函数内所有函数访问,但不能模板外其他函数访问在模板内的static函数只可被这一模块内的其他函数调用,这个函数的适用范围被限制在声明他的模板内在类中static成员变量属于整个类所拥有,对象的所有对象...
2020-02-15 23:25:18 1444 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人