- 博客(9)
- 收藏
- 关注
原创 C++进程虚拟地址空间区域划分(面试常考)
每一个进程都有这样一个虚拟地址空间受保护的地址段:这一段空间的起始地址是 0X00000000,是不可访问的。例如:当我们定义一个字符串 char *p = NULL 时,然后访问字符串p 的时候,就会访问到这一个受保护的区域,导致程序崩溃。因为NULL实际上是0,无疑就会取到 0X00000000的地址代码段(.text):这一段存放程序的代码数据段(.data):存放程序中已初始化的全局变量和静态变量的一块内存区域。BSS段(.bss):存放程序未初始化的全局变量和静态变量的一块内存区域。注意...
2022-07-04 15:14:46
398
原创 C++ 引用详解
**作用: **给变量起别名语法: 示例:1.2 引用注意事项引用必须初始化引用在初始化后,不可以改变示例:1.3 引用做函数参数**作用:**函数传参时,可以利用引用的技术让形参修饰实参**优点:**可以简化指针修改实参示例:1.4 引用做函数返回值作用:引用是可以作为函数的返回值存在的注意:不要返回局部变量引用用法:函数调用作为左值示例:本质:引用的本质在c++内部实现是一个指针常量.讲解示例:结论:C++推荐用引用技术,因为语法方便,引用本质是指针常量,但是所有的指针操作编
2022-06-25 15:19:13
685
原创 我的C/C++学习路线
和大家分享一下自己大概的一个C/C++学习路线,不一定很全面,但是学完这些已经七七八八了。编程语言和计算机基础是最最最重要的,必须要花大量的时间学习,特别是TCP/IP、HTTP这些网络知识,还有操作系统的内存管理、进程、线程等,面试高频考点。一般分为C++ 后端和C++ 客户端...
2022-06-14 09:34:11
403
原创 2021-04-16
蓝桥杯 加法变乘法我们都知道:1+2+3+ … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如: 1+2+3+…+10 x 11+12+…+27 x 28+29+…+49 = 2015 就是符合要求的答案。请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。思路:我觉得它应该也只有两个加号变成两个乘号而已,因为1225变成2015,增加了不到1000。我一开始就想着先试试两个乘号的,看看有没有答案,如果不行的话再试三个
2021-04-16 19:21:07
100
原创 DFS解决迷宫问题
迷宫问题【题目描述】给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。【输入格式】第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。【输出格式】给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。【输入输出样例】输入
2021-01-12 15:06:44
538
原创 计算两个日期之间的天数(C语言实现)
计算两个日期之间的天数(C语言实现)#include <stdio.h>int date(int n,int m1,int d1,int m,int m2,int d2){int i,j,k,t1,t2,q,y,sum=0;int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};for(i=n;i<=m;i++){if(i==n)t1=m1;else t1=1; if(i==m)t2=m2;else t2=12;fo
2021-01-10 19:51:20
4475
5
原创 C语言求最大公约数(递归)
辗转相除法int gcd(int a,int b){if(a%b==0){printf("%d",b);return 0;}gcd(b,a%b);} #include <stdio.h>int main(){ int a=24,b=10,i;if(a<b) //用辗转相除法要保证a>b{i=a;a=b;b=i;}gcd(a,b);}如程序中的24和1024(a)%10(b)=410(b)%4(a%b)=24(a%b)%2(b%(a
2020-10-26 19:44:55
3082
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人