
C语言复习总结
文章平均质量分 95
s_persist
来日方长,何惧车遥马慢。
展开
-
深入理解C语言-程序的编译操作(预处理)
文章目录前言一、总结前言一、总结原创 2021-10-24 11:42:48 · 3490 阅读 · 15 评论 -
C语言——必须掌握的文件相关操作
文章目录前言一、总结前言一、总结原创 2021-10-20 19:41:06 · 2537 阅读 · 11 评论 -
【C语言】管理好你的动态内存
文章目录前言一、动态内存函数的介绍mallocfreecallocrealloc二、常见的动态内存错误三、几个经典的笔试题四、C/C++程序的数据存储区五、柔性数组(C99)柔性数组的特点柔性数组的使用前言我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:1. 空间开辟大小是固定的。2. 数组在申明的时候,必须指定数组的长度,它所需要的内存在编原创 2021-10-17 14:55:11 · 169 阅读 · 17 评论 -
【C语言】自定义类型——计算结构体内存对齐
文章目录前言一、总结前言一、总结原创 2021-10-15 20:55:55 · 606 阅读 · 10 评论 -
字符函数和内存函数代码实现
文章目录前言写在前面assert一、求字符串长度strlen二、长度不受限制的字符串函数strcpystrcatstrcmp三、长度受限制的字符串函数介绍strncpystrncatstrncmp四、字符串查找strstrstrtok五、错误信息报告strerror六、字符操作七、内存操作函数memcpymemmovememsetmemcmp总结前言了解C语言内置库函数的实现有助于我们更好的使用库函数,并提高编程能力。写在前面assert为增强代码的健壮性,需要对不需要修改的参数添加c原创 2021-10-14 12:16:25 · 165 阅读 · 5 评论 -
【指针套娃】指针进阶详解
系列文章目录文章目录系列文章目录前言字符指针指针数组数组指针数组指针的定义&数组名VS数组名数组指针的使用总结前言首先我们再来回顾一下指针的概念指针就是个变量,用来存放地址,地址唯一标识一块内存空间。指针的大小是固定的4/8个字节(32位平台/64位平台)。指针是有类型,指针的类型决定了指针的+(-)整数的步长,指针解引用操作的时候的权限。指针的运算。字符指针字符指针一般有两种:int main(){ //第一种,指向单个字符 char ch='w';原创 2021-10-11 21:47:50 · 834 阅读 · 10 评论 -
深度刨析数据在内存中的存储
文章目录前言一、类型转换隐式类型转换(整形提升)如何进行整体提升呢?测试题算术转换总结前言一、类型转换隐式类型转换(整形提升)我们先来看一个例子#include<stdio.h>int main(){ char a = 3; char b = 127; char c = a + b; printf("%d\n", c); return 0;}为什么它们相加得到得是一个负整数呢?首先我们知道char类型得取值范围-128~127,3+127超出了它的范原创 2021-10-08 16:09:16 · 587 阅读 · 9 评论 -
常用调试技巧与错误分类(内含调试快捷键,VS2019为例)
文章目录前言一、调试时什么?有多重要?Debug和Release的介绍二、如何调试(vs2019为例)调试的基本步骤环境准备常用快捷键调试时可查看信息查看临时变量的值查看内存信息查看调用堆栈查看汇编信息三、如何写出好的或易于调试的代码断言assertconst修饰指针四、常见错位分类总结前言我们一般很少能够直接写出完全正确的语法,很多时候结果与预期不符,但程序较为复杂,代码多,不易直接观察,这就需要用到调试了,它是我们写出正确代码的重要帮手。俗话说一个程序员20%时间写代码,80%时间用于查找错误原创 2021-09-28 16:32:55 · 1426 阅读 · 15 评论 -
【C语言】指针篇——你必须要掌握的指针基础知识
文章目录前言一、指针概述指针的创建指针的大小如何使用指针二级指针二、野指针形成野指针的原因如何规避野指针三、指针的基本运算指针+- 整数指针-指针四、指针和数组五、指针数组总结前言指针是C语言的重点和难点,熟练的掌握指针能够更好的理解计算的存储方式,同时简化代码,增强程序的效率。一、指针概述指针是个变量,存放内存单元的地址(编号)。指针的创建在定义指针变量的时候,在变量前面加上’ * ',代表这个变量是一个指针,再往前面加上一个类型名,就代表指针的类型,称为XX指针。指针的初始化:原创 2021-09-25 22:09:44 · 1285 阅读 · 12 评论 -
【C语言实现】全面的扫雷小游戏(包括空白展开、标记等)具体步骤加代码分析
文章目录前言一、问题描述二、基本框架构思三、具体实现1.扫雷接口实现2.地图初始化3.设置雷4.显示界面5.开始扫雷6.计算周围雷的数量7.排查雷8.空白展开9.标记雷10.取消标记四、结果演示五、完整代码总结前言扫雷,是一个十分经典的小游戏,相信大家小时候都玩过,在实现过程中你将会有很大的成就感,现在就让我们一起来实现它吧,。一、问题描述实现除界面外扫雷游戏的所有功能。包括实现一个简单的界面实现排查雷的功能实现标记雷的功能实现显示周围雷的数量实现第一次排查不会遇雷实现如果周原创 2021-09-24 14:34:38 · 2581 阅读 · 13 评论 -
一篇文章带你学会移位和位操作符解析【画图详解】
文章目录前言一、移位操作符左移 <<右移 >>总结要点二、位操作符按位与 &按位或 |按位异或 ^总结要点变态面试题总结前言相较于其他操作符而言,移位操作符和位操作符不太常见,它们的运算方式比较复杂,而我也时常忘记它们的计算方法,现写一篇相关笔记,方便查看,也供各位读者查阅。一、移位操作符左移 <<左移运算符<<首先让我们来了解一下一些相关的基本定义。移位操作符,移动的是二进制位,是存储在计算机中的二进制,相对于整数而言,存放在内存原创 2021-09-22 11:32:40 · 1593 阅读 · 9 评论 -
递归经典:汉诺塔问题和青蛙跳台阶的三个问题(详细的数学推理步骤以及代码)
文章目录前言一、什么是递归?二、汉诺塔问题1.问题描述2.问题分析3.代码实现三、青蛙跳台阶问题问题一1.问题描述2.问题分析3.代码实现问题二1.问题描述2.问题分析3.代码实现问题三1.问题描述2.问题分析3.代码实现总结前言递归非常重要,有时也非常晦涩难懂,它们常以简单的代码解决复杂的问题,在很多时候非常适用,让我们一起来了解一下,并解决几个递归的经典问题吧。一、什么是递归?首先让我们来了解一下什么是递归,它有什么条件。程序调用自身的编程技巧称为递归( recursion)。 .原创 2021-09-20 12:06:04 · 1563 阅读 · 18 评论 -
【C语言实现】玩家互战五子棋(具体步骤和代码)
文章目录前言一、问题描述二、基本流程三、步骤1.构建程序主体框架以及菜单的实现2.良好的宏定义增强代码可读性3.构建游戏入口PlayersGame()函数4.实现打印棋盘函数5.实现玩家落子函数6.实现判断输赢函数四、结果演示五、具体代码总结前言初学C语言,了解基本语法后,可以用来练练手。一、问题描述用C语言实现玩家对战的五子棋。二、基本流程在具体写代码之前,先来确定要实现的功能和实现流程。创建菜单界面并选择开始或者退出游戏——菜单函数。若选择开始则打印棋盘——打印棋盘的函数原创 2021-09-19 12:07:36 · 4087 阅读 · 16 评论 -
C语言基础易错点总结
系列文章目录文章目录系列文章目录前言一、C语言是什么?二、C的部分基础语法数据类型变量和常量变量的作用域和生命周期转义字符关键字static总结前言引用左耳朵耗子(陈皓)的文章里的一句话:现在的这个社会更多地去关注那些时髦的技术,而忽略了这个流行了40+年的C语言。一门技术如果能够流行40多年,这才是你需要去关注和学习的技术,而不是那些刚出来的技术。这才是踏踏实实的精神。本系列文章可供学习过C语言的复习使用。一、C语言是什么?C语言是一门通用计算机编程语言,广泛应用于底层开发。C原创 2021-09-06 15:00:04 · 944 阅读 · 0 评论