自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言进阶之我与指针的爱恨情仇(1)

我们在初阶《指针》初阶C语言-指针-优快云博客已经讲过了一些基础知识,知道了关于指针的一些概念->1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间2.指针的大小是固定的4/8个字节(32位平台/64位平台)3.指针是有类型的,指针的类型决定了指针的+-整数的步长,指针解引用操作时候的权限4.指针的运算接下来,我们继续探讨指针更深层的秘密->

2024-11-02 22:27:58 682 2

原创 深度剖析数据在内存中的存储

我们已学过的基本数据类型有:char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数1.使用这个类型开辟内存空间的大小(大小决定了使用范围)。

2024-10-20 00:20:51 1007

原创 实用调试技巧

第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误。用bug(飞蛾)来引申为计算机程序或者硬件里面的缺陷。Debug通常被称为调试版本,它包含调试信息,并且不做任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,方便用户很好地使用。这两种编译模式在vs2022下位于->一个产品的开发需要经历一下过程:需求——>设计和开发——>测试——>验收——>发布。

2024-10-15 23:53:55 1062

原创 初阶C语言-结构体

int i;int num;double* pd;初始化(定义的同时给值):struct Bchar c;int i;int num;double* pd;int main()//按照顺序初始化//记得包含头文件stdio.h//指定成员初始化return 0;

2024-10-10 23:37:55 1069

原创 初阶C语言-指针

用图理解如下:内存的最小单元是一字节,对每一字节去编号对应的就是指针(地址)。

2024-10-06 17:43:07 1347 2

原创 操作符详解与表达式求值

(1)+、-、*、/都可用于整数与浮点数的运算,%又称整数取余,只适用于整数的运算,且返回的是整除之后的余数(求余数的操作符)。(2)当 +、-、*、/这几个操作数在处理整数与浮点数的混合运算时,运算结果为浮点类型。如下图,很明显当使用整型去打印整型变量a加上浮点型变量c的结果时,打印的是0;

2024-10-02 14:17:38 777 1

原创 Linux基本指令(2)

管道是有入口和出口的,用来传输资源的,(计算机领域指的是数据)。可以简单的理解为ls,pwd等等一些指令是C语言写的一些可执行程序,只不过被放在了这个路径下,其实我们ls的时候执行的是/usr/bin/ls下的可执行程序,有点像Windows下的快捷方式指向的目标文件路径。3.10.0-1160.92.1是操作系统的内核版本,el7是centos7,x86是32位机器(intel公司推出的架构) ,x86_64(x64)是64位机器,因为兼容性,64位机器上的能跑32位机器上的软件,但反过来不行。

2024-10-02 14:17:28 1054 1

原创 C++入门

C++由Bjarne Stroustrup(本贾尼·斯特劳斯特卢普)于20世纪80年代研发并实现,它是基于C语言,由C语言改良而来,继承了C语言的面向过程设计也支持面向对象设计,其功能十分强大。 C++兼容C语言绝大部分语法,比如使用C++编译器编译一个C语言程序。 进入正题,使用C++语法输出Hello World: 为了解决C语言的命名冲突问题,C++提出了namespace来解决。例如以下是一段C语言程序的命名冲突问题。 但是rand

2024-06-06 11:19:08 536 2

原创 [笔试强训]day3

思路:可以先用暴力的思想,固定左端点和右端点,发现时间复杂度是O(N^2),但这道题的数据量是10^7,所以要优化成O(N),接着看题目给出的要求,a[i]是大于0的,所以用滑动窗口来优化暴力解法。经典的滑动窗口问题的一般解法:1.进窗口,2.判断,3./4.出窗口,4./3.更新结果。思路:利用scanf读取特性,因为scanf是以空格,换行或者文件末尾为结束标志。思路:那必然是操作最大的偶数/2,所以我们要用到堆。

2024-04-27 14:48:23 425 2

原创 [笔试强训]day2

思路:简单dp问题,定义好状态表示:dp[i]->到达i位置所需的最小花费,到达i位置,可由i - 1位置或者i - 2位置过来,=》状态转移方程:dp[i] = min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);注意一个点:第二个输入的参数是字符,要使用scanf读取的话,容易把空格读进去,eg:1.0 y,中间是有空格的,所以我们的scanf("%f%c...)是错误的,会将空格读到第二个参数里,所以在格式化输入那里加空格,或者使用cin读取。

2024-04-26 20:06:13 348 3

原创 Linux基本指令(1)

其中/root/111/dir这个字符串就是路径,/是Linux中路径分隔符(Windows的路径分隔符是\),暂不考虑第一个/,相邻两个/之间的字符串叫做目录(Windows中对应文件夹),路径末端一定是普通文件或者目录。-> 得出两个结论:路径是系统层面标识一个特定的文件,且路径具有唯一性。这里的total 0是指文件的内容是0,下面的一行是文件的属性,文件占据的磁盘大小等于文件属性的大小+文件内容的大小,而对文件的操作无非是对文件的属性或文件的内容操作,可以用指令或者编程对文件进行操作。

2024-04-26 15:39:23 829 3

原创 [笔试强训]day1

思路:用hash表来标记数组1出现过的元素,若出现过则标记为1,然后数组2中的元素如果在hash表中已经标记过了,则加入到ret中,并且在hash表中标记为2,表示这个元素已经是公共元素了。因为要考虑:{1,2,3,3},{1,2,3};{1,2,3},{1,2,3,3}这些情况。数据范围:length 1~1000,val 1~1000,所以hash表只需开1001个空间即可。时间复杂度:O(N) 空间复杂度:O(1)时间复杂度:O(N) 空间复杂度:O(1)

2024-04-25 14:07:03 477 1

原创 C语言数据结构之顺序表(上)

/有效数据个数}SeqList;由于定义数组类型时只定义了int类型,这样的话只能存储int类型的数据了。为了方便接收其他数据时,改动较少关于int的地方,故可对int类型重定义。而且100把这个数组的大小写死了,故可用#define定义的常变量来替代100,方便后续对数组大小进行修改。(有时不止仅仅是修改int arr[100]里面的100,而是整个工程中用到数组大小为100的地方都需要修改,这样修改较麻烦。)还有一点是要使用size_t类型(vs2022下是无符号整型)需包含头文件stdio.h。

2023-11-29 09:36:08 1575 38

原创 【C语言的秘密】密探—深究C语言中多组输入的秘密!

getcharvoid可用cplusplus官网查找到函数原型如下:​📌函数讲解函数名 getchar函数的参数 void函数的返回类型 int1.成功读取到字符则返回字符的ASCII码值2.读取失败则返回EOF(-1)​选择EOF右击鼠标找到转到定义选项,点击。​。

2023-11-18 19:43:38 832 29

原创 初阶C语言-函数

🤔C语言的函数与数学中的函数术语有啥区别?😶数学中的函数可以理解为输入自变量,输出应变量;计算机编程中的函数通常被定义为一个具有名称、参数、返回值、访问修饰符等属性的代码块(block)。🤔为啥编程语言有函数这种概念?(这里指计算机编程中,以下提到的函数无特殊说明都指计算机编程中的函数)😶函数可以帮助程序员将代码进行模块化,提高代码的可读性和可维护性。将一个能实现某个功能的代码块(block)打包为函数,以调用的方式来实现这个代码块(block)所能实现的功能,能有很多优势。🤔函数与API(

2023-11-03 16:58:41 592 70

原创 初阶C语言-分支与循环结构

case 6:case 7://后面不接break;default:printf("输入错误\n");break;return 0;这种情况,输入6,会输出weekday\n(换行)输入错误,也就是说在case7后如果不加break转向语句,程序会接着执行default子句的内容。

2023-10-22 20:58:11 273 11

原创 初识C语言(2)

类型 + 数组名 + [ 大小 ];eg:就是定义了一个名为arr的数组,大小为10个整型的空间,即可以放10个整数。当然也可以对其初始化这里初始化的时候只放了6个元素,还有4个元素会默认放0。#define定义的标识符常量在初识C语言(1)里已介绍过,这里不再介绍。这里介绍#define 定义宏。#define定义的宏与函数十分的类似,在初识C语言(1)里,我们写过一个用Add函数来实现加法。代码如下:return x+y;要实现此功能还可以用宏来实现。

2023-10-02 22:40:52 294 19

原创 初识C语言(1)

在学习C语言之前,我们需要知道什么是C语言。我的理解是C语言是众多计算机编程语言中的一种语言且广泛运用于底层开发的语言,而编程语言是人与机器(计算机)进行交流的语言,人通过C语言这个媒介(工具)来告诉计算机你来给我做一件什么样的事。从字面来理解就是c语言中可变的量叫变量,不能改变(恒定为某个值)的量叫常量。eg:char a;定义了一个名字为a的字符型变量int b;定义了一个名字为b的整型变量double c;定义了一个名字为c的双精度浮点型变量。

2023-09-30 16:05:03 471 14

空空如也

空空如也

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

TA关注的人

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