自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 工具-在VS2019中使用QT的方法

1.下载VS2019与QThttp://download.qt.io/archive/qt/5.9/5.9.0/2.VS上安装插件菜单栏:拓展->管理拓展关闭vs,进入自动安装安装好后打开vs,拓展出现Qt VS Tools3.安装QT4.VS设置QT输入QT安装目录里头的msvc...

2020-05-09 14:04:04 5684

原创 【笔记】数据结构_线性表-单链表

1.单链表结构节点结构:节点之间结构:C语言结构:typedef struct Link{ int elem;//数据域 sturct Link* next;//指针,指向的是节点结构,即struct Link*}link;链表结构:头指针:普通指针,在有头节点时指向头节点,无头节点时指向首元节点。头节点:节点结构,无数据。首元节点:第一个有数据的节点。2.单链表初...

2020-04-29 16:38:01 216 1

原创 【笔记】数据结构_线性表-顺序表

1.顺序表与链表左侧为顺序表,右侧为链表,区别在于有无在内存中顺序存放数据。2.顺序表初始化顺序表结构:typedef struct Table{ int* head; int length; int size;}table;顺序表初始化:table initTable(){ Table t; t.head = (int*)malloc(5*sizeof(int));...

2020-04-26 15:26:53 339

原创 【笔记】数据结构_时间、空间复杂度

1.程序追求的3点1)准确性:解决问题2)健壮性:在任何情况下不会奔溃3)运行效率:时间复杂度、空间复杂度2.时间复杂度表示O(频度)即O括号中,是代码运行了多少次for(int i=0;i<n;i++){ int a =b+c;}运行n次,即O(n)常见的时间复杂度排序:O(1)常数阶 < O(logn)对数阶 < O(n)线性阶 < O(...

2020-04-23 20:07:47 149

原创 【笔记】C_内存分页机制

学习资料来自于http://c.biancheng.net/1.虚拟内存对应物理地址虚拟地址与物理地址一一对应。将地址以212=4K大小分页,即加入4GB的虚拟内存=220 *212 ,即220 页。2.一级页表把所有的页整合成为一个数组,即这个数组有220 个元素,每个元素对应物理地址的相应页地址,每个元素占4字节,即页表大小4MB。那么物理地址=物理页地址+偏移值。所以虚拟...

2020-04-22 23:44:07 213

原创 【笔记】数据结构_常用数据结构介绍

1.顺序表2.链表3.特殊顺序表(栈与队列)栈中的元素只能从线性表的一端进出(另一端封死),且要遵循“先入后出”的原则,即先进栈的元素后出栈。队列中的元素只能从线性表的一端进,从另一端出,且要遵循“先入先出”的特点,即先进队列的元素也要先出队列。4.树(一对多)5.图(多对多)...

2020-04-22 11:25:30 260

原创 【笔记】C_文件操作知识点补充

1.利用fread与fwrite进行文件拷贝fread(缓存,单块大小,块数,文件指针)fwrite(缓存,单块大小,块数,文件指针)两个函数返回都是块数,如何进行文件拷贝:1)需要缓存区来暂存拷贝的数据。2)需要判断拷贝何时停止#include <stdio.h>#include <stdlib.h>#pragma warning(disable:499...

2020-04-15 16:47:48 200

原创 【笔记】C_文件操作

1.fopen与fcloseFILE *fopen(char *filename, char *mode);fopen的函数如上,第一个参数文件名(路径),第二个参数为打开方式。打开方式包括打开权限:r,w,a,r+,w+,a+六种,与读写方式t,b两种。r:读,若不存在该文件,fopen返回NULL。w:写,若不存在则新建,若存在删除新建。a:追加,若不存在则新建,若存在写入内容...

2020-04-08 19:03:00 206

原创 【笔记】C_const与指针

1.const指针的三种表示方式const int* p1;int const* p2;int* const p3;在最后一种情况下,指针是只读的,也就是 p3 本身的值不能被修改;在前面两种情况下,指针所指向的数据是只读的,也就是 p1、p2 本身的值可以修改(指向不同的数据),但它们指向的数据不能被修改。(资料上)初学const,感觉资料上的有些不太理解,自己编写之后,以下是我的理...

2020-04-07 17:08:47 169

原创 【笔记】C_函数指针与表达式复杂的指针理解

1.函数指针int (*vptr)(int,int) = max;格式是这样的,表示vptr这个指针指向 int max(int,int);的函数。int max(int a,int b){ return a>b? a:b;}int main(){ int (*pMax)(int,int) = max; int a = 3,b =6; int result = pMax...

2020-03-31 08:54:09 224

原创 【笔记】C_数组类型与指针类型的区别

1.数组类型与指针类型int a[6] = {1,2,3,4,5,6};int* p = a;int lenA = sizeof(a)/sizeof(int);int lenP = sizeof(p)/sizeof(int);printf("lenA=%d,lenP=%d.\n",lenA,lenP);lenA=6;lenP=1;因为两种类型是不同的,虽然在他们都是指向a数据的a[...

2020-03-30 12:57:31 303

原创 【笔记】C_指针的一些理解

1.什么是指针初学指针,我习惯把指针比作一个标识指向某个数据,但是在后两天的学习中,我发现这种对指针的理解方式严重阻碍我后面的学习。于是我把他理解成一个变量,数据类型为地址。int a = 100;int* p1 = &a;资料上习惯使用的格式是:int *p1 = &a;查找了一些资料,发现两种书写格式都是正确的。但我偏向前者。int* p1实际是定义了p1这...

2020-03-30 10:43:37 114

原创 【笔记】C_指针与字符数组

1.字符数组与字符常量字符数组:拥有读写功能char str[] = "hello";str[1] = 'p'; //str=hpllo*(str+1) = 'c'; //str = hcllo字符常量:只有读功能,不能进行写入char* str = "hello"; //资料是这么写的,但是在vs上并不合法,应该加conststr = "reviii"; //正确 *(str...

2020-03-27 00:47:57 100

原创 【笔记】C_中间递归(字符串转换)

1.字符串转换流程图2.代码实现#include <stdio.h>#include <string.h>#pragma warning(disable:4996)void reverse(char* str);int main(){ char str[]="hello"; reverse(str); puts(str); return 0;}...

2020-03-25 21:50:36 238

原创 【笔记】C_数组排序(归并排序)

1.归并排序归并排序也称合并排序,其算法思想是将待排序序列分为两部分,依次对分得的两个部分再次使用归并排序,之后再对其进行合并。仅从算法思想上了解归并排序会觉得很抽象,接下来就以对序列A[0], A[l]…, A[n-1]进行升序排列来进行讲解,在此采用自顶向下的实现方法,操作步骤如下。(1)将所要进行的排序序列分为左右两个部分,如果要进行排序的序列的起始元素下标为first,最后一个元素的...

2020-03-22 22:43:04 311

原创 【笔记】C_数组排序(选择排序和插入排序)

1.不稳定的排序-选择排序选择排序概念:将第0小的数移动到arr[0],将第1小的数移动到arr[1],一次类推通过循环完成排序。因为可能会移动相同数据的位置,称之为不稳定。代码理解:假设一个arr1[5]={4,2,1,3,5};,需要将最小的数值先移动到arr1[0]的位置。需要定义一个min值来保存取得的最小值,min_index记录min值所在的下标。第一轮比较:假设mi...

2020-03-20 17:21:52 390

原创 【笔记】C_数组排序(冒泡排序与快速排序)

C语言中文网学习笔记1.冒泡排序以从小到大排序为例,冒泡排序的整体思想是这样的:从数组头部开始,不断比较相邻的两个元素的大小,让较大的元素逐渐往后移动(交换两个元素的值),直到数组的末尾。经过第一轮的比较,就可以找到最大的元素,并将它移动到最后一个位置。第一轮结束后,继续第二轮。仍然从数组头部开始比较,让较大的元素逐渐往后移动,直到数组的倒数第二个元素为止。经过第二轮的比较,就可以找...

2020-03-20 01:00:32 227

原创 【笔记】C_静态数组

1.C语言中的数组静态数组C语言中的数组不能改变长度,从出生起便固定了长度,数组数据在内存中是连续存放的。2.数组的插入与删除插入:因为数组是静态数组,所以插入相当于拷贝到新的数组中,将插入点的数据向后移动,插入数据。如果在arr[5]={1,2,3,4,5}的2与3位置插入一个数字,代码如下:#include <stdio.h>#pragma warning(disab...

2020-03-19 23:01:12 986

原创 【笔记】C_字符串输入输出以及string.h的基本用法

1.字符串长度问题。字符串在内存中存储是以‘\0’结尾。假设代码如下:#include <stdio.h>pragma warning(disable:4996)int main(){ char str1[5]="hello";//hello为5个字符 ... return 0;}程序报错,E0144:"const char[6]"类型的值不能用于初始化char...

2020-03-19 13:24:47 358

原创 【笔记】C_scanf的一些高级用法以及非阻塞输入

1.scanf指定长度输入#include <stdio.h>int main(){ int a; float b; char str[30]; scanf("%2d",&a); scanf("%*[^\n]");scanf("%*c"); scanf("%6f",&b); scanf("%*[^\n]");scanf("%*c"); scanf(...

2020-03-19 00:11:59 2215

原创 【笔记】C_scanf缓存区机制

1.scanf缓存机制概念scanf缓存机制是利用行缓存,在无\n字符出现前,输入的数据内容存入缓存,直到遇到\n,才将缓存清空进行赋值等操作。2.实例1-连续输入#include <stdio.h>int main(){ int a,b,c; scanf("%d",&a);//划重点这里的%d,而不是a=%d。下面一样 scanf("%d",&b);...

2020-03-18 13:05:54 233 1

原创 【笔记】C_浮点数在内存中的存取机制

于“C语言中文网”学习,记录笔记。(从零学习)1.定点数与浮点数设32bit的内存。定点数:前16位存储整数,后16位存储小数部分,小数点位置固定,精度高,取值范围小。浮点数:用科学计数法来存入内存,小数点的浮动是抽象的,不是说在内存里面浮动。2.科学计数法小数分解:符号+进制+尾数+指数例如:16.12510进制:符号0+10进制+1.6125尾数+1指数->1.612...

2020-03-17 00:48:12 226

原创 【笔记】C_有符号数无符号数在内存中取值机制

1.内存中存取数据是采用补码形式存储。符号位:0正1负正数:原码=反码=补码负数:反码=原码基础上符号位不变取反 补码=反码基础上+1 例子:假设用short a = -3; 原码:1000 0000 0000 0011 反码:1111 1111 1111 1100 补码:1111 1111 1111 11012.以无符号数形式输...

2020-03-16 16:27:51 427

空空如也

空空如也

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

TA关注的人

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