自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言进阶(5)—————深入了解指针(4)

本文主要介绍了C语言中的几种指针类型及其应用。首先,字符指针变量char*用于存储字符串的首字符地址,而非字符串本身。接着,数组指针变量int(*p)[10]指向一个包含10个整数的数组。二维数组传参的本质是传递第一行一维数组的地址,形参可以写成数组或指针形式。函数指针变量用于存储函数地址,通过地址调用函数,其创建和调用方式也进行了详细说明。此外,还介绍了typedef关键字用于重命名复杂类型,以及函数指针数组和转移表的概念,后者通过函数指针数组实现多功能的调用。这些内容为理解和使用C语言中的指针提供了基础

2025-05-17 11:19:50 1040

原创 C语言进阶(5)—————深入理解指针(3)

本文主要探讨了C语言中数组和指针的相关概念及其应用。首先,数组名通常表示数组首元素的地址,但在sizeof(数组名)和&数组名中,数组名表示整个数组。通过代码示例展示了数组地址和指针运算的区别。其次,介绍了如何使用指针访问数组元素,并指出p[i]等价于*(p+i)。接着,讨论了数组传参的本质,指出数组传参实际上是传递数组首元素的地址,因此在函数内部无法直接获取数组大小。此外,文章还介绍了冒泡排序算法的实现,以及二级指针和指针数组的概念及其应用。最后,通过指针数组模拟二维数组的效果,展示了指针数组的灵活性和实

2025-05-16 20:15:20 974

原创 C语言进阶(4)—————深入理解指针(2)

本文主要探讨了C语言中const修饰指针的用法、野指针的概念及其规避方法、assert断言的使用,以及指针在函数传址调用中的应用。首先,const可以修饰变量或指针,限制其不可修改或指针指向的内容不可修改。其次,野指针是由于指针未初始化、越界访问或指向已释放空间而产生的,可以通过初始化指针、防止越界和及时置空来规避。assert断言用于确保程序条件成立,若不成立则报错终止程序。最后,指针在函数传址调用中允许函数直接操作主调函数的变量,实现数据交换等功能。通过这些机制,可以增强程序的稳定性和安全性。

2025-05-11 12:17:46 769

原创 C语言进阶(3)—————深入理解指针(1)

前面的内容我们了解到,32位机器假设有32根地址总线,每根地址线出来的电信号转换成数字信号后是1或者0,那我们把32根地址线产生的2进制序列当做一个地址,那么一个地址就是32个bit位,需要4个字节才能存储。如果指针变量是用来存放地址的,那么指针变量的大小就得是4个字节的空间才可以。我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,那我们买电脑的时候,电脑上内存是 8GB/16GB/32GB 等,那这些内存空间如何高效的管理呢?

2025-05-07 18:19:46 880

原创 C语言进阶(2)—————操作符详解

8进制的数字每一位是 0~7 的,0~7 的数字,各自写成2进制,最多有3个2进制位就足够了,比如7的二进制是111,所以在2进制转8进制数的时候,从2进制序列中右边低位开始向左每3个2进制位会换算一个8进制位,剩余不够3个2进制位的直接换算。整数的2进制表示方法有三种,即原码、反码和补码,有符号整数的三种表示方法均有符号位和数值位两部分,2进制序列中,最高位的1位是被当做符号位,剩余的都是数值位。其实二进制也是一样的:2进制中满2进1,且每一位都是0~1的数字组成,那么 1101 就是二进制的数字了。

2025-04-29 20:35:37 771

原创 C语言进阶—————函数递归

递归是学习C语言函数绕不开的一个话题,那什么是递归呢?递归其实是一种解决问题的方法,在C语言中,递归就是函数自己调用自己。上述就是一个简单的递归程序,只不过上面的递归只是为了演示递归的基本形式,不是为了解决问 题,代码最终也会陷入死递归,导致栈溢出把个一大型复杂问题层层转化为一个与原问题相似,但规模较小的子问题来求解;直到子问题不能再被拆分,递归就结束了。所以递归的思考方式就是把大事化小的过程。递归中的递就是递推的意思,归就是回归的意思,接下来慢慢来体会。

2025-04-26 14:30:42 675

原创 C语言基础—————VS实用调试技巧

调试是需要反复去动手练习的,调试是可以增加程序员对代码的理解和掌控的,掌握了调试的能力,就能看到本质,就像能给程序做B超一样,对程序内部一览无余。:栈区的默认的使用习惯是先使用高地址,再使用低地址的空间,但是这个具体还是要编译器的实现,比如: 在VS上切换到X64,这个使用的顺序就是相反的,在Release版本的程序中,这个使用的顺序也是相反的。,然后通过各种手段去定位问题的位置,可能是逐过程的调试,也可能是隔离和屏蔽代码的方式,找到问题所在的位置,然后确定错误产生的原因,再修复代码, 重新测试。

2025-04-26 11:09:24 1105

原创 C语言基础(8)—————函数

了解了库函数,我们的关注度应该聚焦在自定义函数上,自定义函数其实更加重要,也能给程序员写代码更多的创造性。

2025-04-20 21:21:57 915

原创 C语言基础(7)—————数组

数组是一组相同类型元素的集合;数组元素个数不能为0类型是相同数组分为一维数组和多维数组,多维数组一般比较多见的是二维数组。一维数组创建的基本语法如下:type arr_name[常量值];存放在数组的值被称为数组的元素,数组在创建的时候可以指定数组的大小和数组的元素类型。比如:我们现在想存储某个班级的20人的数学成绩,那我们就可以创建一个数组,如下:当然我们也可以根据需要创建其他类型和大小的数组:char ch[8];有时候,数组在创建的时候,我们需要给定一些初始值,这种就称为初始化的。

2025-04-19 00:49:23 789

原创 C语言基础(6)————分支和循环(下)

如果再深入了解⼀下,我们就不难发现,其实 rand 函数生成的随机数是伪随机的,伪随机数不是真正的随机数,是通过某种算法生成的随机数。,通过 srand 函数的参数seed来设置rand函数生成随机数的时候的种子,只要种子在变化,每次生成的随机数序列也就变化起来了。rand函数会返回一个伪随机数,这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的大小是依赖编译器上实现的,但是大部分编译器上是32767。2. 玩家猜数字,猜数字的过程中,根据猜测数据的大小给出大了或小了的反馈,

2025-04-18 20:25:25 571

原创 C语言基础(5)————分支与循环

if 语句的语法形式如下:1 if表达式2 语句表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果不是0,则语句执行。例子:输入一个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印偶数。if 语句只能控制⼀条语句,如果要if语句同时控制多条语句,那就要使用 { } 将代码括起来,else 后也可以跟上大括号。在 if else 语句中,else可以与另⼀个。

2025-04-16 08:00:00 913

原创 C语言基础(4)

scanf() 处理用户输⼊的原理是,用户的输入先放入缓存,等到按下回车键后,按照占位符对缓存进行解读。这样写,在调试的是,每一次赋值的细节都是可以很方便的观察的。+ 和 - 用来完成加法和减法,* 用于两个数的乘积 ,+ 、 - 和 * 都是有2个操作数的,位于操作符两端的就是它们的操作数,这种操作符也叫。运算符 - 用来改变一个值的正负号,负数的前面加上 - 就会得到正数,正数的前面加上 - 会得到负 数。除号的两端如果是整数,执行的是整数除法,得到的结果也是整数,小数部分省略。

2025-04-02 23:40:49 904

原创 C语言基础(3)

一、数据类型字符的英文名是character,在C语言中使用char表示字符类型。整型的英文名是integer,在C语言中使用int表示整型类型。//短整型//整型//长整型//更长的整型//C99中引入signed和unsignedC语言使用signed 和 unsigned 关键字修饰字符型和整型类型的。signed 关键字,表示⼀个类型带有正负号和零,包含负值;unsigned 关键字,表示该类型不带有正负号,只能表示零和正整数。

2025-04-01 00:03:25 1092

原创 C语言学习笔记

目录1.关键字2.字符串3.转义字符4.语句和语句分类5.注释 (1)特点:(2)类别 a.要准确理解每个关键字的含义和用法,遵循C语言的语法规则来使用。 b.不能随意创造新的关键字,也不能修改关键字的含义。 c.在编写代码时,正确使用关键字可以实现各种复杂的程序逻辑和数据处理功能。例如,下面的代码使用了int、if、else等关键字:详细介绍:https://zh.cppreference.com/w/c/keyword(1)定义:字符串是使用双引靠括起来的字符组成的序列,以'\0

2025-03-30 23:55:20 1018

原创 你好!我是爱在西元前 这里是学习、成长与分享旅程

作为计算机专业的学生,我一直热衷于探索知识,我相信教育是改变生活的力量。这个账号将是一个我与大家分享学术和学习资源、学习技巧、书籍和课程的平台。我是爱在西元前,欢迎来到我的学习之旅。我想通过这个这个博客与大家分享我的学术和学习经验,以及我对计算机的热爱。

2025-03-29 20:18:54 99

原创 C语言基础

C语言基础

2025-03-29 16:42:38 754 1

空空如也

空空如也

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

TA关注的人

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