自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 静态变量是如何逃过内存回收机制的?揭秘它们的不死之谜!

原来静态变量与全局变量存放在一起!

2023-03-06 14:39:01 244 1

原创 linux管线命令

cut、grep、tee与xargs命令常见使用方法介绍

2022-11-17 17:29:33 472

原创 linux 环境变量及其配置方式

环境变量是bash进程的变量!!!

2022-11-16 17:23:13 490

原创 linux数据流重定向

>、2>这符号就该这样来理解!!!

2022-11-16 00:54:37 571 1

原创 linux中su与sudo的区别与联系

sudo su的原理原来是这样的!!!

2022-11-09 21:47:02 350

原创 linux账号与群组

原来有效群组与初始群组是这么回事

2022-11-09 13:03:48 428

原创 linux文件权属与权限

linux文件rwx权限

2022-11-08 19:38:12 256

原创 linux文件特殊权限

linux文件权限可不是rwx这么简单!!!

2022-11-08 19:36:16 1252

原创 linux中与文件系统相关的命令

linux系统磁盘分区挂载等相关命令介绍

2022-11-05 00:33:58 244

原创 磁盘分区、格式化与挂载

这样理解磁盘分区、格式化与挂载,如何呢?

2022-11-02 12:13:00 1232

原创 软链接与硬链接的区别与联系

软链接可以这样子来理解

2022-10-31 18:08:03 928

原创 C++ const限定符

本文主要记录const限定符在C++中的定义、使用及注意事项

2022-10-08 17:30:00 323

原创 C++ inline函数

inline函数,比宏好得多

2022-09-28 17:00:30 303

原创 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号

int Add(int num1,int num2){ int result = 0; int carry = 0; do{ result = num1 ^ num2; //不带进位的加法,相同为0,不同为1 carry = (num1 & num2) << 1; //只有两位同时为1才得进位1,并向前移一位 num1 = result; num2 = carry; }whi.

2020-07-24 10:02:39 221

原创 C/C++ 内存拷贝函数

1、char * strcpy(char * dest,const char * src);对字符串有效,也会将src字符串的'\0'拷贝至目的字符串中,所以在设置目的字符串时注意分配合理的内存空间2、char *strncpy(char * dest,const char * src,size_t count);对字符串有效,根据count大小从源字符串中拷贝至目的字符串,不会给目的字符串末尾添加'\0'3、void * memcpy(void * dest,const void * sr

2020-07-18 13:41:39 470

原创 智能指针

智能指针是模板类,定义该类的对象变量存放在栈中,智能指针负责管理 指向堆内存的指针变量。众所周知,堆内存的创建与释放需要new/delete操作,这样会出现忘记delete堆内存的情况,从而造成内存泄漏。为此,智能指针就出现了。原理:智能指针是类,该类创建的对象在栈空间,栈中的变量是局部变量,不用程序员管理,在程序退出作用域后相应的变量被释放,表现为栈顶指针的变化。前面讲过,智能指针负责管理指向堆内存的指针变量,这里,在析构智能指针时,顺便释放堆内存,不就可以很好的避免内存泄漏的问题了。智能指针所在

2020-07-10 15:01:42 180

原创 一个套路解决递归问题

在解决一些可以用递归处理的算法题时,无从下笔,没有思路,或有时经常遗漏些步骤。关于递归的概念这里不再赘述。在面对一个算法题时,如何判断它是否可以用递归解决,以及如何用递归写出来?这是本篇文章的主要内容。废话不多说,直接先看一道算法题目:求菲波那切数列的第n项在面对这道常见的题目时,都能想到是可以用递归来解决,那接下来就分析一下它为什么可以用递归来解决?假定你就站在第n项上,你要知道该项的内容f(n),这是一个大问题,你需要知道前两项的内容f(n-1)与f(n-2),它们是两个子问题;你

2020-07-05 14:05:23 187

原创 动态创建二维数组与内存释放

创建方法如下:int rows = 2;int cols = 3;int ** maxValues = new int*[rows]; //maxValues为指针,指向存放 rows个 int*类型的数据for (int i = 0; i < rows; i++){ maxValues[i] = new int[cols]; //maxValues[i]类型为int*,指向存放 cols个 int类型的数据}创建的示意图如下:赋值:for (int i = .

2020-06-20 14:43:29 295

原创 遍历链表时跳出循环的依据

解决链表相关的算法题时,在循环的判断语句中,选择pNode==nullptr 与 pNode->next==nullptr的问题上举棋不定,处理起来很不顺心。所以,记录下 选择pNode==nullptr 还是pNode->next==nullptr 的依据下面以一道算法题展开讲解,题目为 从尾到头打印链表链表节点定义如下:struct ListNode{ int m_nKey; ListNode * m_pNext;}思路为:从头到尾遍历每一个节点,.

2020-06-14 23:02:52 361

原创 指针数组与数组指针

指针数组:是指 数组 里面装的是指针数组指针:是指针,该指针指向数组int * a[5]; //指针数组int (*b)[5]; //数组指针对于a,a是数组的首地址,数组a的元素是指针,a所指向的存储单元大小为一个元素的长度,如果指针长度为32位(4字节),则a所指向的存储单元大小为4字节。对于b,b是指针变量,所指向的存储单元为有5个整型变量的数组。所以,a+1地址跨度为4字节,b+1地址跨度为4*5=20字节接下来看一道指针数组题#include&.

2020-06-02 10:01:35 151

原创 从一维数组到二维数据,解析数组名a, &a[0], &a 的区别与联系

对于一个一维数组,如下:int a[3] = {1,2,3};a,&a[0],&a分别表示什么?printf("a = %x\n", a);printf("&a[0] = %x\n", &a[0]);printf("&a = %x\n", &a);结果如下:不难发现,其实它们的值都相同,难道它们就真的没有区别?然而并不是int a[3] = { 1, 2, 3 };printf("a = %x\n", a);print

2020-05-25 11:37:54 860

原创 为什么要使用补码?我是这么理解的

十进制转二进制补码、原码,抑或是反过来二进制补码、原码转十进制,都拥有一套转化的规则,且较为简便。但是,计算机为什么要有补码出现?原码、反码不行吗?疑惑........站在人的角度(十进制),以1+2=3为例,在计算机中如果这些常量以原码或反码存储在计算机中,假定占用一个字节。则:若采用原码:1在存储单元中为“0000 0001”,2在存储单元中为“0000 0010”,那么,按位相加可得到“0000 0011”,该二进制串依旧为原码,转化为十进制则为3,正确,没有问题!若采用反码:1在存储单元

2020-05-23 17:52:40 869 1

原创 计算机的整数表示(补码、有符号数、无符号数)

经常遇到补码、原码、反码、无符号数、有符号数等概念。但是在理解上总出现概念混淆,分不清楚之间的界线与联系。先看下面整数赋值的例子short sx = -12345;像上面的赋值语句,整数-12345是如何存储在计算机中,并赋值给变量sx的?结论:1、在赋值语句右边的常量为字面常量,存储在常量区。2、该字面常量为非负整数时,可以理解为:该字面常量以无符号数进行编码并存储在字节单元中; 若该字面常量为负数,可以理解为:该字面常量以补码的编码形式存储在字节单元中。...

2020-05-23 10:51:05 2910

原创 补码“可视化”

short sx = -12345; 对于变量sx的字节单元(2个字节),它就是存储着字面常量“-12345”的补码“0xcfc7”。 将一个十进制数转化为补码的过程为:(1)若为正整数,除2取余,直到商为零,余数倒叙排列,即可得补码(2)若为负整数,先求该负数绝对值的二进制原码,然后将二进制原码的所有位取反,再加1,再在最左边补1作为符号位 如果看到这样一串二进制原码“1101”,我们能够自然清晰地知道,在数轴上,它所表示的十进制数的在原点右侧,距离原点13 ...

2020-05-21 22:24:00 199

空空如也

空空如也

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

TA关注的人

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