
基本理论
文章平均质量分 78
姓辜的学长
这个作者很懒,什么都没留下…
展开
-
C++ (二)
1.C++的动态内存 new/delete new[]/delete[] 操作符 new和malloc的区别? 2.C++的引用 引用的底层实现其实就是指针 引用必须初始化 一经初始化不能更改目标 引用不能为空 引用提高传参效率,节省内省,比指针操作简单 引用与指针的区别? 3.C++的类型转换 隐式类型转换(自动) 强制类型转换 显示类型转换: static_cast<>() const_cast<>() reinterpret_cast<>()原创 2020-10-05 17:17:00 · 109 阅读 · 0 评论 -
C++ (一)
标准C++ C的补充和扩充 C就是C++的一个子集 C语言写大型程序 复杂 编程效率低 C语言最大优势在于性能效率 C++兼顾执行效率 与 编程效率 C/C++ 版本越稳定越好 1.应用 科学计算 完善的科学计算的库 操作系统(驱动程序) 可移植性 网络软件(网络编程) ACE库 网络游戏 算法 军事软件 图形界面软件 vc(visual stdio c++ win32/MFC) windows下平台 C++ windows c++ MFC(Microsoft原创 2020-10-05 17:10:01 · 170 阅读 · 0 评论 -
Python 基本理论(二)
Python 匿名函数 lambda 函数没有名字 直接用lambda表达式来替代 lambda args,… : express lambda 表达式只能是简单的表达式 不能多条语句 lambda 表达式的结果就是lambda函数的返回值 如果有多个值是,需要把多个值用() [] {} 作为一个整体 x = lambda arg:arg**2 x(10) x(199) *python中没有三目运算符,但是有一个效果等同的 val if expr else otherval a if a>b els原创 2020-10-05 16:38:06 · 902 阅读 · 0 评论 -
Python 基本语法(一)
Python python中分为 可变数据类型 和 不可变数据类型 可变数据类型: 列表(list) 集合(set) 字典(dict) 不可变类型: 数值(number) 布尔(bool) 字符串(str) 元祖(tuple) 哈希(hash) 1.数值 整数(int): 在[-5,256]区间内 内存地址是唯一的 列如: a = 10 b = 10 id(a) = 140604090635424 id(b) = 14060409原创 2020-10-05 16:31:05 · 282 阅读 · 0 评论 -
基础算法之十种排序(上)
算法的十种排序 排序大致列出以下十种: (1)冒泡排序 (2)快速排序 (3)插入排序 (4)鸡尾酒排序 (5)堆排序 (6)基数排序 (7)计数排序 (8)希尔排序 (9)选择排序 (10)归并排序 下面我将用代码来解释这十种排序方式: 一、冒泡排序: 冒泡排序就是将前一个数与后一个数依次进行比较,数值大的一个数往后移,第一次循环结束可以将数列中的最大值找出,并放在以后一个位置。 #include <stdio.h> #include <stdlib.h> void swap(i原创 2020-09-05 11:36:26 · 115 阅读 · 0 评论 -
基础算法之十种排序(下)
上次我们说到了十种排序的前五种,这次我们来说说剩下的五种排序方式: (1).基数排序 (2).计数排序 (3). 希尔排序 (4).选择排序 (5).归并排序 一、基数排序: 基数排序是将所有的数,比较它们各位数的大小,然后依次放到十个链表中去,最后按照顺序将它们取出来,最后再进行对十位的操作:一次知道位数最大的一个数比较才结束。 代码如下: #include <stdio.h> #include "slink.h" void swap(int *pa,int *pb) { int原创 2020-09-05 11:36:11 · 140 阅读 · 0 评论 -
动态内存与结构体
动态内存 堆内存 手动申请 手动释放 #include <stdlib.h> void *malloc(size_t size);//申请动态内存 申请size个字节的动态内存(堆内存 heap) 返回void *类型的指针 使用时需要转换成其他类型的指针 如果申请失败则返回NULL 成功则返回一个在heap上的内存地址 申请多少个字节的动态内存使用多少个字节,千万别越界访问 越界访问动态内存非常危险,编译不会检查 可能正确执行 可能代码会有逻辑错误 可能程序会崩原创 2020-07-26 22:54:00 · 447 阅读 · 0 评论 -
指针与字符串
指针 C语言程序在内存中的分布 4G的虚拟内存空间 编号:0x0000 0000 - 0xffff ffff 4G = 2^2 * 2^30 byte = 2^32 byte 一个地址只能存储1byte数据 所谓的内存 其实是一个 int 类型的编号 通常显示为十六进制 %p 指针即内存地址 定义变量意味着分配内存 变量其实是代表着那一片内存里的数据 操作变量实际上是操作内存里的数据 所有的变量(除了register)其实都可以通过&来获取该变量在内存中的存储位置 如果确定了一个内存原创 2020-07-26 22:34:11 · 206 阅读 · 0 评论 -
C语言函数的调用
函数 一段具有指定功能代码 函数可以重复调用的 提高了代码的复用率 自定义函数:(在main函数外面定义) 返回值类型 函数名(形参列表){ 函数体 } 返回值类型: 与return呼应 如果函数没有返回值,可以声明为void 如果函数return一个值,则函数应该声明为该值的类型 函数名: 标识符 形参列表: 参数类型 形参名 形参列表中的变量只能在该函数中使用 void func(int a){ a只能在这个{}中使用 } 一个形参一个类型 即使多个形参类型一样也不能省略形参类型 int i,j; v原创 2020-07-26 22:20:00 · 1036 阅读 · 0 评论 -
C语言数组基本知识
一维数组 一维数组的定义 先定义才能使用 数据类型 数组名[数组长度]; 数据类型 数组名[] = {数组元素,…}; 数组的长度由初始化时数组元素的个数来决定 初始化数组: int arr[5] = {1,2,3,4,5}; int arr[5] = {1,2,3,4,5,6};//警告 int arr[5] = {1,2};//补0 int arr[5] = {0};//数组元素全部初始化为0 int arr[5] = {}; int arr[] = {1,2,3,4,5}; 一维数组相当于一次原创 2020-07-26 18:42:06 · 175 阅读 · 0 评论 -
C语言基本理论一
C语言的基本数据类型 字符 char 整数 short int long long long 浮点 float double 数据类型 宽度 取值范围 signed char 1 -128~127 unsigned char 1 0~255 short 2 -2^15 2^15-1 unsigned short 2原创 2020-07-26 18:12:13 · 280 阅读 · 0 评论