- 博客(6)
- 收藏
- 关注
原创 int* const p 和 const int* p
首先上几行代码说明下const:int a = 100, b = 200;int const *p1 = &a;//注意const的位置int * const p2 = &a;//*p1 = 200; 有'//'的都是编译报错的,下面就不说明了p1 = &b;//p2 = &b;*p2 = 100;在指针里,const修饰的是紧跟...
2019-09-07 16:01:17
1086
原创 编译链接过程详解
首先简单介绍一下编译链接这个过程,顾名思义,编译链接是编译和链接两个过程组成的,其中,编译又可以细分为预编译、编译和汇编。这两个步骤让我们编写的.cpp文件能够让电脑看懂,变成一个可执行文件。下面我将展开讲一下他们都做了什么。编译过程预编译:也叫做预处理,是编译阶段的第一步。再这个过程,会对程序做一些简单的处理1.删除#define,并展开宏定义2.处理条件预编译指令,如#if...
2019-08-16 15:28:50
404
原创 八大排序算法总结
最近复习了排序算法,所以在这篇博客里总结一下。这里的八大排序有:冒泡排序、快速排序、直接插入排序、shell排序、选择排序、堆排、归并排序和基数排序。因为基数排序没看,所以下面只会出现前面7种排序,之后可能会加上把。。。首先简单分个类交换:冒泡排序、快速排序 插入:直接插入排序、shell排序 选择:选择排序、堆排 分配:归并排序、基数排序下面就一个一个来看把。一、冒泡...
2019-08-15 14:37:37
213
原创 结构体运用基础
一 要学习结构体,第一步,我们要知道什么是结构体。首先,结构体是一种聚合数据类型,就像数组一样,它可以存放多个元素。而不同的是,数组只能存放相同类型的元素,而结构体可以存放不同类型的元素。struct tag { number-list } variable-list;例如,学生信息系统中,每一个学生包括了姓名,性别,学号,年龄等等的信息,这个时候,我们就可以用一个结构体,来定...
2018-07-26 13:53:44
531
原创 动态内存分配 malloc
一 为什么要使用动态内存分配在编译代码时,我们常常会遇到这样的问题:要定义一个数组,可是数组长度不可知,通常情况下,我们会给这个数组一个较大的长度,确保数组元素最多时,也不会超过这个长度。但是,这样写会有缺点元素如果超过了长度,就只能重新回去改长度了。如果元素很少,而长度设定的很大,就会浪费大量的空间。这是一个恶性循环,因为长度不够而重新改长度,改完却发现长度长了,又导致空间浪费...
2018-07-24 12:14:58
496
原创 二维数组总结
二维数组的定义:(以下数组没有申明的都为arr[3][3]) 定义一个整形的二维数组可以写为:int arr[3][3]={{1,2,3},{4,5,6},{7,8,9}}; 要注意的是,红色框内的3表示列数,是不可省略的,而前面框内的3是可以省略的。对于二维数组,定义方法和一维数组相似,区别在于二维数组有行列,所以定义时有两个[ ]。同时,数组内每一个{ },表示的是...
2018-07-14 16:04:15
1421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人