小知识点
chen<>
一名科班小白
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数组模拟邻接表
转载一篇邻接表的文章数组模拟邻接表转载 2022-05-09 21:38:48 · 187 阅读 · 0 评论 -
C++全排列算法(STL)
文章目录1.next_permutation2.prev_permutationSTL提供了两个用来计算排列组合关系的算法,分别是next_permutation和prev_permutation。1.next_permutation//获得之后的字典序#include<iostream>#include<algorithm>using namespace std;int a[3]={1,2,3};int main (){ do {原创 2022-04-22 23:40:21 · 1171 阅读 · 2 评论 -
字符串转换为数字
1.前提:我们经常在做算法题的时候输入输出需要用字符串进行读入,这样有利于后续的操作,但是往往在实现过程中有需要将某些字符串转换为数字,如果挨个字符进行遍历则效率太低而且会增加代码量,于是今天介绍一种方法;2.实现int main (){ string a;//需要转换的字符串 cin>>a; float sun;//转换之后的数字,如果转换之后是整数型的数字这里也可以定义一个int变量来接受 stringstream ss; ss<<原创 2022-04-10 15:45:52 · 900 阅读 · 5 评论 -
辗转相除法求最大公约数
1. 递归实现辗转相除法#include<iostream>using namespace std;int gcd(int a,int b){ return b?gcd(b,a%b):a;}int main (){ int a,b; cin>>a>>b; cout<<gcd(a,b); return 0;}2、结果原创 2022-04-03 18:44:32 · 485 阅读 · 7 评论 -
C语言通过函数指针和回调函数实现动态多态效果
上期我们讲解了C++实现动态多态的原理,今天我们来讲解一下在C语言中如何做到这一点。众所周知C语言是一门面向过程的语言所以它没有封装继承多态这些属性,但是我们可以通过C语言的函数指针和回调函数实现类似动态多态的效果。C语言实现动态多态1. 函数指针:2. 回调函数:2.1 回调函数定义:2.2 回调函数的应用场景:3. 实现多态3.1 预备知识3.2 代码1. 函数指针:1.1 函数指针是指向函数的指针变量。1.2 通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。.原创 2021-09-13 23:54:04 · 774 阅读 · 5 评论 -
C++多态底层刨析(虚函数指针,虚函数表)
前言:相信小伙伴们在学习到C++面向对象特性之一的多态的时候,都或多或少有一些疑惑。搞不清楚多态在底层是如何实现的,今天我就带大家刨析一下多态的底层实现,了解一下虚函数指针和虚函数表到底是什么东西?(注意本文操作环境是VS2019 x86架构 32位机器)多态底层刨析1 、多态的定义和分类1.1 多态的定义1.2 多态的分类2、静态多态代码演示3 、动态多态的代码刨析3.1 动态多态代码演示3.2 代码刨析4、使用VS自带的开发人员工具检验4.1 找到VS2019开发人员工具4.2 查看有虚函数的父类.原创 2021-09-09 00:28:05 · 673 阅读 · 7 评论 -
《C语言深度刨析》学习笔记之第一章 第三节
1.4 基本数据类型C中为何要有类型:本质对内存进行合理化划分,按需索取类型为什么在C中有这么多种:应用场景不同,解决应用场景对应的计算方式不同,需要空间的大小也不同。本质:用最小成本,解决各种多样化的场景问题。1.5 最冤枉的关键字sizeof理解sizeof是一个关键字而不是函数,通过下图的第三个打印语句就能得出结论。1.6 signed、unsigned关键字1.6.1 有符号数int a = 20;int b = -10;我们知道,编译器为 a 分配四个字节的空间。那如何存原创 2021-07-17 10:25:37 · 124 阅读 · 0 评论 -
《C语言深度刨析》学习笔记之第一章 第二节
1.3最名不副实的关键字——static1、1.全局变量可以跨文件访问吗??可以!2.函数可以跨文件访问吗??可以!2、static作用1、static修饰全局变量,该变量只在本文件内被访问,不能被外部其他文件直接访问(可以通过本文件函数间接访问)2、static修饰函数,该函数只能在本文件内被访问,不能在外部其他文件中直接访问(可以通过本文件中其他函数间接访问)3、static修饰局部变量,更改局部变量的生命周期!3.C语言地址空间 注意这不是内存布局4、static原创 2021-07-15 12:56:25 · 132 阅读 · 0 评论 -
《C语言深度刨析》学习笔记之第一章 第一节
第一章 关键字(C89或者C90版本关键字包括32个,C99增加了5个,但是主流的编译器对C99支持不太好,所以我们默认C语言关键字为32个)。1.1最宽宏大量的关键字——auto auto:在缺省情况下,编译器默认所有变量都是auto的,“它很宽宏大量的,读者就当它不存在把”!1、变量:1、局部变量:包括在代码块中的变量叫做局部变量,局部变量具有临时性,进入代码块,自动形成局部变量,退出代码块自动释放。2、 全局变量:在所有函数外定义的变量,叫做全局变量。全局变量具有全局性。3、代码块:原创 2021-07-11 20:57:27 · 131 阅读 · 2 评论 -
数据的存储(字节序)、数据类型取值范围
#include<stdio.h>//用代码来区分主机的字节序//大端则为 11 22 33 44//小端为 44 33 22 11//1、通过指针类型强制转换来取出第一个字节int isBigEnd(){ int num = 0x11223344; int* p = # char* p2 = (char*)p; if (*p2 == 0x11) return 1; return 0;}//2、通过联合体int isBidEnd2(){原创 2021-06-20 19:26:41 · 253 阅读 · 1 评论
分享