自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 结构体是什么

在c语言中,咱们的数据类型有int ,float, char等等,但是这些类型不足以让我们描述一个具体的类型。比如我们想描述一个人,会提及ta的性别、名字、年龄等等,这时我们创建一个结构体来描述人会很方便。在这个例子中介绍了结构体的具体用法,打印结果为。

2024-04-01 21:06:33 233

原创 结构体的内存对齐

结构体的内存必须是最大对齐数的整数倍,这个例子中最大的对齐数是int 的4字节,int类型放数据的时候,要从4的倍数的位置开始放,即从起始偏移量为12时开始放,有个东西叫对齐数,结构体内存按对齐数来放,从起始偏移量为0的地方开始放,那么4+1+1=6,还差的2字节从哪里冒出来的呢?char类型对齐数是1,承接上面的内存放下来即可。short类型对齐数是2,要从2的倍数开始放.8是4的倍数,而6不是,故内存为8字节。同理char类型,对齐数是1,放1.答案是4,因为4比8小,谁小放谁。

2024-04-01 21:06:17 146

原创 浮点数在内存中的存储

对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。1.首先我们得学会如何把一个十进制的浮点数化为二进制。注:上图中的-110是二进制数,化为十进制数为-6。

2024-03-28 21:58:48 143 1

原创 什么是大小端字节序?以及如何判断大小端字节序

1.先明确整数在内存中以补码的形式存放,超过⼀个字节的数据在内存中存储的时候,就有存储顺序的问题。

2024-03-28 21:39:27 225 1

原创 什么是指针(初学者版)

1.指针是拿来存放地址的,指针是地址,地址是指针。2.指针变量自身也有地址二级指针存放一级指针地址三级指针存放二级指针地址……

2024-03-24 15:50:02 93 1

原创 memcpy函数的模拟实现

当然,我们模拟实现的memcpy函数也可以是void类型,无需传参,因为我们用的是指针,直接对内存下手了。比如有两个字符串s1,s2,我们想用字符串s2覆盖s1,这时就可以使用memcpy函数啦。首先介绍memcpy函数的作用和参数。让我们开始实现一个简单的模拟实现。改变参数,看看有何效果。

2024-03-22 00:03:50 201 1

原创 分清int*const p, int const*p ,const int* p

如何分清int*const p, int const*p ,const int* p呢?说说我发现的小规律, 被const修饰的之后的值不变,并且 int const* p与const int* p是等价的。

2024-02-03 17:54:59 562 1

原创 字符串旋转

假设给你一个字符串ABCD,要求旋转几个字符ABCD旋转1个字符变为BCDAABCD旋转2个字符变为CDBA那么如何用代码实现呢,下面介绍两种方法(两种方法均不涉及另外创建数组)

2024-02-02 09:00:00 435

原创 strlen与sizeof在计算字符串长度时的细微差别

让我们稍微修改一下字符串,看看是否变化。

2024-02-01 21:41:14 396 1

原创 冒泡排序优化版

原版冒泡排序我就不在这里展示啦,以下为简单的优化版本。

2024-01-31 21:39:45 409

原创 交换2个变量(运用^运算符)

5转换为二进制为 00000000000000000000000000000101。3转换为二进制为 00000000000000000000000000000011。^按位异或,1^1=0,0^0=0,1^0=1。

2024-01-24 21:47:37 455 1

原创 递归入门:求n的阶乘

反复调用test函数,计算n*(n-1)*……*1,设置x-1让递归逐渐靠近x==1,直至停下。

2024-01-23 19:43:00 322 1

原创 斐波那契数列的递归和非递归解法

给定第一个值1,第二个值1,第三个值就为第一个值和第二个值的和;第n个值就为第n-1个值和第n-2个值的和;以此为规律,编写代码。

2024-01-23 18:29:35 545 1

原创 n+nn+nnn+nnnn+nnnnn求和

就有5个2,4个20,3个200,2个2000,1个 20000,很多人有其他解法,我说说我这种,亮点在于用了pow函数。输入数字n,求和n+nn+nnn+nnnn+nnnnn。

2024-01-22 22:10:59 453

原创 扫雷游戏详解

首先要理解棋盘的结构,设置11*11的目的是保证边缘的格子的周围一圈能显示雷的个数,方便待会代码编写。棋盘有两个,一个真正埋雷,一个当做游戏界面。

2024-01-21 01:05:57 522 1

原创 c语言while循环详解

进入循环的条件是非零(!=0)

2024-01-19 18:59:37 345 1

原创 c语言打印99乘法表

每用一次for(j=1;),都会重新对j赋值为1。而i 的值会递增,不会重新赋值为1。注意看for循环是怎么使用的。

2023-12-04 23:09:09 366

原创 c语言if语句详解

用break可以跳出if else语句,if else 语句不能循环。else //不满足if的条件,就会执行else语句。else if 可以有无数句,else可以不要。输入两个数,判断两个数的大小。表示选择的常用语句,结构为。要进行多次判断,格式为。

2023-12-04 22:56:30 364

原创 计算1/1+1/2+1/3+1/4+1/5 …… + 1/99 + 1/100 的值,打印出结果

分数求和结果应该以小数输出,所以定义s为double 类型,double类型的占位符为%lf。只要分子写为1.0(小数形式即可),则1.0/n的结果为小数。s+=1.0/i意思为s=s+1.0/i。for循环实现了分母从1到100的递增。下面,我来解析一下代码。s用来存放分数的和。

2023-11-27 19:34:43 575

原创 脆皮大学生c语言生涯规划

个人计划

2023-11-19 15:55:57 73

空空如也

空空如也

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

TA关注的人

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