自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通讯录管理系统(C语言版:源码+详解)

test.c。

2024-06-15 18:38:29 254

原创 常见的字符串函数(包含头文件string.h)和字符函数(1)

因为strlen测量字符串是到'\0'结束,由于字符串中没有结束符'\0',strlen找不到结束计算的标志,就会一直向后寻找结束符'\0',直到找到'\0'为止,在此期间的所以我们不知道strlen函数遇到了多少字符,所以arr数组的长度是不可预知的,即arr的数组的长度是一个随机值。strcpy函数拷贝到'\0'结束,它会将‘\0’之前的字符拷贝到name中包括'\0',用strcpy时,原数据需要'\0',不然没法停止。可以看到strcpy函数拷贝字符串时源字符串中的'\0'也会被拷贝进目标空间。

2024-06-12 22:05:52 1087

原创 冒泡排序(C语言)

>第1次遍历,两个相邻的数比较大小,若左边的数大于右边的数,则两个元素交换位置,反之,继续向后比较,当第1次遍历结束之后该组元素最大的数就被移动到了末尾。->第2次遍历,除去第一次的最大数,将这组数据中最大的数放至末尾。C语言给我们提供了一个库函数,可以排序任意类型的数据 qsort。->3.待排列数据元素的大小(一个元素,单位:字节)->根据以上原理,直至将这组元素排至升序,循环结束。知道了qsort函数的参数之后,我们现在来使用一下。->1.你要排序的数据的起始位置。->2.待排列数据元素的个数。

2024-06-10 20:54:20 581 2

原创 C语言指针(函数指针的深入)

如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。但是上式并不能生效,因为运算符*的操作数必须是一个指针,不仅如此这个指针还得是一个函数指针,这样经过运算符*作用后的结果才能作为函数被调用。回头再掉函数,你把你的函数指针通过传参的形式传递给某个函数,该函数再调用它自身之后再调用你传递的函数。这个声明的含义是:当对表达式求值时,((f))的类型为浮点型,由此可以推知,f也是一个浮点类型。所以上述代码的作用是调用0地址处的函数,一次函数调用。

2024-06-07 19:34:28 760

原创 C语言指针(详解版)进阶部分

p1 == p2:为什么p1等于p2,"abcdef"是常量字符串谁也改不了,系统就将这个字符串放在只读数据区,谁需要用直接在里面拿出来用就好了,所以p1的地址等于p2的地址。int (*p1)[10] p是数组指针,去掉变量名就是它的类型:int (*)[10]。*p为指针数组的数组名,即首元素地址,对*p进行加i操作就是改变*p的指向,遍历数组。*(a+i)和a[i], parr[i][j]和*(parr[i]+j)原理相同。//类型:int(*)[10]

2024-06-06 12:15:28 1123

原创 操作符优先级表格(详解版)

求变量的长度,单位字节以数据类型为准,不计算内部表达式表达式1?表达式2: 表达式3

2024-05-22 20:14:48 517 1

原创 不同数据在存储中的储存方式(下半部分)

num和*pfloat在内存中明明是同一个数,为什么浮点数和整数的解读结果会差别这么大根据国际标准IEEE(电气电子工程师学会)745,任意一个二进制浮点数v可以表示成下面的形式:(-1)^S表示符号位,当S = 0时,v为正数;当S = -1时,v为负数M表示有效数字,大于等于1,小于2(1 1.01*2^2(M的小数点往左移动了两位)

2024-05-17 21:03:52 868

原创 不同数据在存储中的存储方式(上半部分)

c语言提供的一些基本的内置类型类型 开辟内存空间的大小(字节)char (字符型) 1short(短整型) 2int (整型) 4long (长整型) 32位/64位 4/8long long (更长的整型) 8float (单精度浮点型) 4double (双精度浮点型 8浮点型家族:只要表示小数就可以用浮点型float的精度低,储存的数值范围小(精确到后六位)double的精度高,储存数值范围大 (精确到后十五位)数组类型 int a[5] //根据需求可以创建不同的数组。

2024-05-14 20:44:39 883 1

原创 C语言指针(详解版)初阶部分

那一共就是2^32Byte = (2^32Byte/1024)KB = (2^32Byte/1024\1024)MB = (2^32Byte/1024/1024/1024)GB = 4GB。对于32位的机器,假设有32根地址总线,每根线在寻址的时候会产生高电平(高电压)和低电平(低电压)就是1或者0。根据以上分析,在64位的机器上,一个二进制序列要8字节来存储,所以指针\地址大小就为。结论:指针的类型决定了进行加1减1操作时跳过了多少字节,决定了指针的步长。->通过下图可以看到pc,pb的地址是一样的。

2024-05-02 08:50:25 455

原创 用递归实现C语言汉诺塔问题

汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具,由法国数学家爱德华·卢卡斯于1883年发明。[1]汉诺塔的玩法是将一个木桩上的圆盘转移到另外一个木桩。移动规则:1、一次只能移动一个圆盘;2、每个桩上只有最顶层的圆盘可以移动,并且所移动的圆盘只能移到空木桩上或者它要比木桩顶层已存在的圆盘小。也就是说,你不能将大圆盘置于小圆盘之上。常见的汉诺塔n=6~10,完成转移需要2n-1步。[1]分析问题现在我们假设面前有三根柱子,其中起始柱(start)上有n个圆盘。

2024-03-29 20:59:07 494

空空如也

空空如也

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

TA关注的人

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