暂时未有相关云产品技术能力~
暂无个人介绍
Linux中的新建用户、切换用户
sprintf函数
C语言程序的翻译环境和执行环境
C语言中的exit函数
字符与数字的相互转换
Linux基本指令(三)
数据结构——堆(存储完全二叉树)
我终于体会到了:代码竟然不可以运行,为什么呢?代码竟然可以运行,为什么呢?
Linux环境配置(云服务器)
牛客网:NC69 链表中倒数最后k个结点
顺序表与链表(双向)优劣势
算法的时间复杂度
void * 类型指针
C++中函数的默认参数(缺省参数)
数组实现循环队列(增设队列大小size)
编译器报错:qsort函数对-2147483648、2147483648溢出报错
leetcode:476. 数字的补数
memcmp内存比较函数
memcpy内存拷贝函数
如何删除数组中的某个元素?
实现bubble_sort冒泡排序函数,排序任意类型数据
操作系统:进程控制
Linux基本指令
C语言:找到数组中出现次数最多的元素
数组实现循环队列(新增一个空间)
TopK问题——用堆来解决
算法的空间复杂度
leetcode:415. 字符串相加(模拟竖式计算)
sizeof是关键字,参数可以是各种数据(包括函数,类型,对象,数组,指针……)用于计算数据所占字节大小 strlen是函数,参数类型必须是字符型指针(char *),用于计算字符串,从字符串的第一个地址开始遍历,直到遇到‘\0’停止
数组指针本质是一个指针,该指针存放的是数组的地址。 int nums[10] = { 1,2,3,4,5,6,7,8,9,10 }; int(*p)[10] = &nums;
注意:运行态回到就绪态有两种方式: 1.运行态——阻塞态——就绪态 2.运行态——就绪态(每个进程行CPU运行都是一个时间片,一个时间片的时间到了,CPU接收到时钟中断信号,该进程就会下CPU,进入就绪态)
程序是静态的,是存放在磁盘中的一个可执行文件,是一系列指令的合集 进程是动态的,是程序的一次执行过程,同一个程序多次执行会对应多个进程
虚拟机又名虚拟机管理程序、虚拟机监控程序、VMM 使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,每台虚拟机器都可以独立一个操作系统。 传统的计算机,一台物理机器只能运行一个操作系统。
函数原型:int** generate(int numRows, int* returnSize, int** returnColumnSizes) 参数解析:numRows是指明要求前几行杨辉三角 returnSize是返回指针数组的元素个数 returnColumnSizes是指明杨辉三角每一行有几个元素
字符指针是存放字符地址的指针
大内核结构:也叫宏内核/单内核。将操作系统的主要功能模块都作为操作系统内核。大内核结构包括进程管理、存储器管理、设备管理等功能(第四层)和时钟管理、中断处理、原语(第五层)。 大内核优点:性能更高(CPU状态转换次数更少) 大内核缺点:内核代码庞大,结构混乱,难以维护
系统调用是操作系统提供给应用程序使用的接口,可理解为一种可供应用程序调用的特殊函数。应用程序可以通过系统调用来获取操作系统内核的服务。
内中断(异常):与当前CPU的执行的指令有关,中断信号来自CPU内部 外中断:与当前CPU的执行的指令无关,中断信号来自CPU外部 (注:在大部分教材中,“中断”是狭义的中断,指外中断;而内中断则称为异常)
1.程序是如何运行的? 程序运行的过程就是CPU执行一条一条机器指令的过程 2.程序的分类 程序分为应用程序和内核程序 应用程序只能执行非特权指令,运行在用户态 内核程序可以执行特权指令,也可以执行非特权指令,运行在内核态
利用二分查找思想,在0与x区间进行查找。 设置左边界 left (初始值为0),右边界 right(初始值为x)和中值 mid (值为区间的中间值),同时设置一个ans(初始值为-1)作为最终返回值。
unsigned char 的范围是 0~255,当 i=255 时,i++变为0,从0到255无限循环,因此程序运行结果为死循环
指操作系统同时运行着多个程序,这些程序宏观上是同时运行的,但微观上其实是交替运行的 补充1:并发性区别于并行性 并发是指两个或多个事件在同一时间间隔内发生,事件宏观上是同时进行的,围观上市交替进行的 并行指的是两个事件在同一时刻同时发生
截断+整型提升+算数转换练习
大端字节序存储模式:把一个数据低位字节处的数据存放在高地址处,数据高位字节处的数据存放在低地址处
二级指针即为二级指针变量,用于存放一级指针变量的地址。 一级指针变量是用来存放普通变量的地址(地址其实就是一些数字),一级指针变量也是一个变量,存放普通变量地址的同时自身也是有地址的。那么一级指针变量的地址就需要二级指针变量来存放。
指针数组本质是数组,是一个存放指针的数组 代码如下: arr1和arr2就是指针数组
指针 + 或 - 整数表示指针跳过几个字节(具体跳过几个字节由指针类型决定) 本文不做具体讲解,详解跳转链接。
总体原则:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符 同一级别下的运算符的运算次序由表达式的结合方向决定
已知:char 和 short 这两种字节长度小于 int 类型参与算术运算时,会进行整型提升。 而当字节长度大于 int 类型的数据参与运算时,如果某个操作符的两个操作数是不同类型,其中一个操作数需要按级别(级别低的数据转换为级别高的数据)转换为另一个操作数的类型,这样的转换即为算数转换
C语言的整型算术运算至少是以缺省整型类型的精度来进行的。 为了达到这个精度,算术运算表达式中的 字符型char 和 短整型short 需要被转换为普通整型,这种转换成为整型提升。