
C语言
文章平均质量分 87
终不免俗
这个作者很懒,什么都没留下…
展开
-
快排的三种算法与实现
一.快排实现思想的基本框架二. 快排的三种对子序列排序的实现思路 1.左右指针法实现 2.挖坑法 3.前后指针法三. 对快排的性能优化原创 2020-10-07 23:00:56 · 1148 阅读 · 0 评论 -
指针几个有意思的面试题
题一:int main(){ int arr[5]={1,2,3,4,5}; int *ptr=(int*)(&arr+1); printf("%d %d",*(a+1),*(ptr-1));//运行结果:2 5 return 0;}考察知识点:1.数组名为首元素的地址,给其进行+1操作其实就是指针向后走一步,也就是第二个元素的地址;2.取地址数组名(&arr)取到的是整个数组的地址,虽然其指向的空间与数组名相同,但其所代表的意义不同。例如:取地址数组原创 2020-09-10 19:59:17 · 216 阅读 · 0 评论 -
memmove详解与模拟实现
memmove详解与模拟实现一.menmmove函数原型及其功能原型:void* memmove(void* dest,const void* src,size_t size)//size的单位:字节功能:从src的位置开始,向后拷贝size个字节的数据到dest的位置。功能与memcpy相同,但有以下几点这注意:1.memmove与memcpy不同之处在于,memmove处理的源内存块和目标内存块是可以重叠的;2.若出现源空间与目标空间重叠的情况,要使用memmove函数进行处理。二.原创 2020-09-09 20:25:57 · 1446 阅读 · 0 评论 -
变量在内存中存储的位置
存储区域内存存储区域主要分为一下几块区域: ├———————┤低端内存区域 │ …… │堆栈区域 ├———————┤ │...转载 2019-12-09 20:13:35 · 1782 阅读 · 0 评论 -
C语言与C++中常见的读取函数
一.scsanf()函数1.介绍:scanf("输入格式控制符",&输入参数);若输入格式与格式控制符不相符合,则输入无效(大概率出现错误)2.注意点a. scanf不是直接在键盘上读取数据,而是在输入缓冲区读取;(键盘上的任意输入都会放入缓冲区,当然就包括了空格与回车)b. 读取遇到空格或者换行符结束读取(输入格式内有空格不受影响);例如:char a[20];scan...原创 2019-12-03 22:48:56 · 1167 阅读 · 0 评论 -
枚举与联合
一.枚举枚举:一个被命名的整型常数的集合,关键字为:enum枚举的定义与赋值:enum Day//关键字加枚举名{ nan, //注意:成员结束符(标识符)不是分号(;)而是逗号 nv //最后一个成员后边没有标识符};注意:1.像这样没有进行初始化,则代表从第一个成员起,依次赋值为0,1,2…。但当其某个成员赋值(初始化)后,其后边的成员按加1的规则确定其值。eg:...原创 2019-11-30 22:27:47 · 215 阅读 · 0 评论 -
结构体中的位段
一.什么是位段在结构体中以二进制为单位指定成大小的方式,称为:位段或位域。二.存在原因有时数据的存储用不了一个或多个字节,如表示真假时,只需要一个比特位即可。本质还是为了节省空间三.使用方法注意:位段不跨平台1.位段的成员必须为unsigned(无符号)或int,char类型;2.位段的成员名后边有一个冒号和一个数字(这个数字为所占比特位大小)3.位段按照一次4个字节(int)或...原创 2019-11-30 19:31:16 · 520 阅读 · 1 评论 -
结构体内存对齐
一.为什么要内存对齐1.平台原因:不是所有硬件平台都可以访问任意地址上的任意数据,有些硬件平台只能访问某些地址上的特定类型的数据,否则抛出硬件异常;2.性能原因:数据结构(尤其是栈)应该尽可能的的在自然边界上对齐。(原因:为了访问未对齐的内存,处理器需要俩次访问操作;而对齐的内存则只需要一次)其实从本质上来说:这是一种以空间换取时间的做法二.对齐规则32位cpu默认对齐数为4;64位...原创 2019-11-30 17:31:34 · 330 阅读 · 0 评论 -
结构体
一.结构体定义:一组变量的结合,这些变量之间可以毫无关联,类型各异,但大多情况下变量的存在都是为了描述一个事物。关键字:struct使用场景:要将一个大的变量当作一个原子,而这个变量本身却有着略微不同(属性相同但在数值上存在差别),需要对这个原子进行管理时,结构体便应运而生(在C语言中)。例如:学校对学生的管理,将一个学生看作一个原子,而这些原子都有年龄,性别,年级…等的属性,但属于...原创 2019-11-29 21:29:03 · 174 阅读 · 0 评论