自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于C++的人脸比对大学生兼职管理系统

链接: https://pan.baidu.com/s/17x6ow38c0yJ8Cr-rVUCAHg?pwd=y7y8 提取码: y7y8 复制这段内容后打开百度网盘手机App,操作更方便哦 注意你需要在百度智慧云 人脸识别库上传自己的照片。

2024-06-03 20:12:47 122

原创 数据结构基于哈希表的租号玩管理系统

fprintf(file, "租借时间:%ld\n\n", current->playData.rentTime);printf("账号:%s\n", current->playData.account);fprintf(file, "账号:%s\n", current->playData.account);printf("租借时间:%ld\n", current->playData.rentTime);fprintf(file, "账号ID:%d\n", current->playData.id);

2023-08-29 19:08:40 119

原创 C语言 IO流

帮你搞定io流

2023-08-15 18:59:01 362

原创 C语言 结构体字节对齐,位段

通常情况下,`DefaultAlignment` 结构体的大小可能是 12 字节(1字节 + 4字节 + 1字节),而 `TwoByteAlignment` 结构体的大小可能是 8 字节(2字节 + 4字节 + 2字节),因为它在 `int` 类型之后插入了1字节的填充。在结构体中,编译器通常会在结构体成员之间插入一些填充字节,以确保每个成员都按照规定的字节边界对齐。在上述示例中,我们使用 `#pragma pack` 指令将结构体 `MyStruct` 的对齐边界设置为1字节,从而最小化填充字节的使用。

2023-08-15 10:58:16 126

原创 C语言 结构体 结构体指针的使用

在 C 语言中,结构体和结构体指针是有效的工具,用于组织、管理和访问复杂的数据。通过结构体指针,可以在不复制整个结构体的情况下访问和修改结构体的成员。5. **函数参数传递**:当将结构体指针传递给函数时,传递的是指针的拷贝,不会影响原始指针的值。2. **结构体初始化**:当使用花括号 `{}` 初始化结构体时,成员的初始化顺序应与结构体定义中的顺序相匹配,以避免意外的初始化错误。结构体指针使用 `->` 运算符来访问结构体的成员,与通过 `.` 运算符来访问普通结构体变量的成员相似。

2023-08-15 10:48:12 2688

原创 C语言关于函数与指针的注意事项

函数指针:指针函数:指针函数数组:内存管理:代码可读性:错误处理:

2023-08-15 10:30:20 95

原创 C语言 函数指针 指针函数 函数指针数组

然后,我们声明一个包含三个函数指针的数组 `operation`,并分别将这些函数的指针存储在数组中。在上面的示例中,我们定义了一个 `createInteger` 指针函数,该函数分配了一个整数的内存,并返回一个指向该内存的指针。在上面的示例中,我们首先定义了一个 `add` 函数,接着声明了一个函数指针变量 `funcPtr`,并将 `add` 函数的地址赋值给它。在 C 语言中,函数本身也可以被视为一种内存中的代码块,函数指针允许我们将函数的地址存储在变量中,从而使我们能够通过指针调用函数。

2023-08-15 10:26:10 41

原创 C语言 指针数组和数组指针

数组指针是指向数组的指针,它是指针类型。我们可以通过以下语法定义数组指针:// 定义一个指向包含5个整数的数组的指针ptr = &arr;// 将指针指向数组arr在这个例子中,我们首先定义了一个包含5个整数的数组`arr`,然后定义了一个指向这个数组的指针`ptr`,最后通过`&arr`将指针指向数组`arr`。指针数组是指一个数组,其中的每个元素都是指针。我们可以通过以下语法定义指针数组:// 定义一个包含3个整型指针的数组。

2023-08-04 20:19:37 196 1

原创 C语言 指针与字符串封装函数

/ 输出:strcat result: helloworld。// 输出:strcmp result: -15。// 输出:strcpy result: hello。// 输出:strlen result: 5。// 测试 my_strcmp。// 测试 my_strcpy。// 测试 my_strlen。// 测试 my_strcat。// 声明封装的字符串函数。// 实现封装的字符串函数。

2023-08-04 20:05:01 69 1

原创 C语言——指针与一维数组

指针指向一维数组的语法:在C语言中,指针可以指向数组的首个元素,通过指针,我们可以访问数组的所有元素,同时数组名是一个指向数组首元素的指针,我们可以使用指针和数组名进行类似的操作。在上面的示例中,我们创建了一个包含5个整数的一维数组`myArray`,然后我们声明并初始化了一个指针`ptr`,将其指向`myArray`的首个元素。通过`*ptr`,我们可以访问指针指向的元素,通过`*(ptr + i)`,我们可以遍历整个数组。

2023-08-04 19:56:59 322 1

原创 c语言“指针“篇

在32位操作系统中国 指针所占内存大小永远都是。

2023-08-03 08:36:35 48

原创 C语言自定义函数 strlen,strcat,strcmp,strcpy

函数用于计算字符串的长度,即字符串中字符的个数(不包括字符串末尾的空字符 '\0')。函数用于比较两个字符串是否相等。返回值为0表示两个字符串相等。函数用于将源字符串追加到目标字符串的末尾。函数用于将源字符串复制到目标字符串中。

2023-07-31 20:42:24 229 1

原创 C语言“函数”使用,定义

在实际的C语言项目中,函数的设计和使用非常重要,它们可以使代码更具有结构性、可读性和可维护性,帮助我们构建高效、健壮的程序。函数的参数通过值传递的方式传入,意味着函数内部的修改不会影响到外部实参的值。`函数名`是函数的标识符,用于在程序中唯一标识该函数;函数的声明告诉编译器有一个函数存在,并提供了函数的接口信息,而函数的定义则是实现函数具体功能的代码。在本博客中,我们以一个简单的加法函数为例,介绍了函数的定义和声明、参数传递和返回值的概念。函数的定义包括函数的头和函数体,提供了函数的具体实现。

2023-07-31 20:36:19 79 1

原创 C语言之“二维数组”

这种声明方式是合法的,但在这种情况下,第一维的大小是不确定的,编译器会根据初始化时的元素个数来推断数组的大小。例如,`int arr1[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}` 表示一个3行3列的二维数组。第一维的大小为3,由初始化时的行数决定,第二维的大小为3,由初始化时的列数决定。可以在声明二维数组的同时指定每个元素的初始值,使用嵌套的花括号 `{}` 表示每行的元素。如果只想初始化部分元素,可以省略指定的行或列的大小,并只在初始化部分指定元素的初始值。

2023-07-27 20:31:22 1466 1

原创 c语言之“冒泡排序“

冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的列表,比较相邻元素,并交换顺序不正确的元素,直到整个列表排序完成为止。冒泡排序的基本思想是每次将相邻的两个元素进行比较,如果它们的顺序不正确,则交换它们的位置。这样每一轮遍历都会将当前未排序部分中的最大(或最小,取决于是升序还是降序排序)元素“冒泡”到正确的位置。// 用于优化,如果某一轮没有发生交换,说明已经排序完成,可以提前结束。// 如果在某一轮没有发生交换,说明已经排序完成,可以提前结束。// 交换相邻元素的位置。

2023-07-27 20:02:53 32 1

原创 C语言之“字符串处理函数”

printf("子字符串 \"%s\" 第一次出现在字符串 \"%s\" 中的位置:%ld\n", needle, haystack, result - haystack);6. **strstr()**:在一个字符串中查找子字符串的第一次出现,并返回子字符串的地址。3. **strcat()**:将一个字符串追加到另一个字符串的末尾,包括字符串结束符'\0'。1. **strlen()**:计算字符串的长度,即字符的个数,不包括字符串结束符'\0'。printf("未找到子字符串 \"%s\"。

2023-07-27 19:55:00 93 1

原创 C语言基本知识之“数组”

数组在C语言中非常常用,它允许我们以简单的方式管理多个相同类型的数据,访问数组元素的时间复杂度为O(1),是高效的数据结构。需要注意的是,在使用数组时,应确保不超出数组的边界,避免访问不存在的元素,这可能导致未定义的行为和程序错误。其中,`data_type`是数组中元素的数据类型,`array_name`是数组的名称,`array_size`是数组的大小(表示数组中可以存储的元素数量)。2. 固定大小:在创建数组时,需要指定数组的大小,一旦创建,数组的大小就是固定的,不能动态改变。

2023-07-23 16:16:54 906

原创 C语言之“三大结构“

它们能够让我们在循环中根据需要提前结束循环或跳过某些迭代,从而更灵活地实现不同的逻辑和功能。在C语言中,常用的循环结构是`while`循环、`for`循环和`do-while`循环。这三大基本控制结构允许我们在C语言中实现复杂的逻辑和功能,能够进行流程控制,根据条件执行不同的操作,或者重复执行特定的代码块,使程序更加灵活和实用。顺序结构是程序中最简单和最基本的结构,它按照代码的书写顺序依次执行每条语句。在C语言中,常用的分支结构是`if`语句和`switch`语句。当在循环结构中使用break。

2023-07-23 15:50:12 140

原创 C语言基本知识之“输出输入“

在C语言中,输入和输出通常是通过标准输入和标准输出进行的。在实际应用中,我们通常使用这些函数来与用户进行交互,读取输入数据或将结果输出到屏幕或文件中。请注意在使用输入函数时,确保输入的正确性和安全性,以避免潜在的错误。`: 从标准输入读取一行字符串(已废弃,不建议使用,容易导致缓冲区溢出问题)。`: 从标准输入读取一行字符串,并指定最大读取字符数(推荐使用)。`: 从标准输入读取格式化输入,并将数据存储到提供的变量中。`: 输出字符串到标准输出,并自动添加换行符。`: 格式化输出数据到标准输出。

2023-07-23 15:16:39 198

原创 C语言基本知识之“宏”

当谈到C语言中的宏(Macros),我们通常指的是预处理器宏。宏的注意事项:使用宏时需要注意运算符优先级、宏替换可能导致意外的副作用、宏参数可能被多次计算等问题。参数化宏:宏可以带有参数,使得宏的替换文本可以根据给定的参数进行定制化。宏替换:在代码中使用定义好的宏时,预处理器会将宏名称替换为其定义的文本。条件编译:宏可以用于条件编译,根据预定义的宏或编译器选项在编译时选择性地包含或排除代码块。宏展开:预处理器将宏调用展开为宏的替换文本的过程称为宏展开。是宏的名称,括号内是传递给宏的参数。

2023-07-23 14:33:12 892

原创 C语言关键字的介绍 ,反码补码源码,回滚

如果将一个超出char取值范围的整数值赋给char类型的变量,发生回滚的情况下,整数值会按照模运算的方式进行回滚,即超出范围的部分被截断。例如,对于有符号char类型,当超过范围时,会将最高位的1看作符号位,剩余的位数表示数值。在C语言中,当一个整数值超出了char类型的取值范围时,会发生截断(truncation)或回滚(wrap-around)的现象,具体取决于数据类型和编译器的实现。需要注意的是,正数的原码、反码和补码都相同。- 例如,+7的补码为 0000111,-7的补码为 1111001。

2023-07-19 20:02:45 108

原创 计算机的基本组成结构与运算

1. 中央处理器(Central Processing Unit,CPU):包括:寄存器 控制器 寄存器CPU 是计算机的核心组件,负责执行指令和处理数据。它有算术逻辑单元(ALU)和控制单元(CU),用于执行计算和控制操作。寄存器:处理速度最快,但是内存更小。2. 存储器(Memory):存储器用于存储数据和指令。它包括主存储器(主存)和辅助存储器。主存储器是计算机的主要工作区域,用于临时存储程序和数据。辅助存储器(如硬盘、固态硬盘、光盘等)用于永久存储数据和程序。

2023-07-19 19:34:34 1039

原创 linux基本操作指令

linux 常用基本指令。

2023-07-18 20:21:37 48 1

空空如也

空空如也

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

TA关注的人

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