![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 76
不秃头的小猿
那些打不倒你的,终将使你更加强大
展开
-
通讯录---动态开辟内存---文件操作
目录通讯录创建过程分析1.主体框架构建1.1 创建两个源文件,一个头文件1.2 构建主界面2.相关函数的声明及宏定义通讯录创建过程分析如图:1.主体框架构建1.1 创建两个源文件,一个头文件作用如下:在 test.c 和 contact.c 中均 #include"contact.h" 就可以使用头文件中声明函数,宏定义等,也方便后期修改。1.2 构建主界面我们想要这样的界面效果:那么所需代码如下:v...原创 2022-04-13 18:57:01 · 814 阅读 · 4 评论 -
#define 定义宏&&标识符
目录1.#define 定义标识符2. #define 定义宏3. 宏和函数对比4.总结一下函数和宏的对比1.#define 定义标识符举几个例子:#define MAX 1000#define reg register //为 register这个关键字,创建一个简短的名字提问:在define定义标识符的时候,要不要在最后加上 ; ?例如:#define MAX 1000;#define MAX 1000建议不要加上 ; ,这样容易导致问题.原创 2022-04-10 13:48:21 · 1345 阅读 · 0 评论 -
文件操作详细解析
目录1. 为什么使用文件2. 什么是文件3. 文件的打开和关闭3.1 文件指针3.2 文件的打开和关闭4. 文件的顺序读写4.1 fgetc && fputc4.2 fgets && fputs4.3 fscanf && fread4.4 fread && fwrite4.5 对比一组函数:5. 文件的随机读写5.1 fseek5.2 ftell && rew...原创 2022-04-08 12:47:42 · 496 阅读 · 1 评论 -
C语言---动态内存函数
目录1. malloc和free1.1 malloc作用1.2 相关结果1.3 free1.4 举例2.calloc2.1 功能2.2 举例3.realloc3.1 优点3.2函数原型3.3调整内存空间的两种情况3.4 举例1. malloc和freeC语言提供了一个动态内存开辟的函数:void* malloc (size_t size);(size为开辟的字节数)1.1 malloc作用malloc向内存申请一...原创 2022-03-29 21:02:59 · 139 阅读 · 1 评论 -
自定义类型:结构体,枚举,联合
深入理解结构体,学会计算结构体大小,了解枚举和联合体原创 2022-03-26 15:30:10 · 98 阅读 · 1 评论 -
C语言中常见字符串函数和内存操作函数
目录1.长度不受限制的字符串函数1.1 strcpy1.1.1 功能1.1.2 实现条件1.1.3 模拟实现1.1.4 效果1.2 strcat1.2.1 功能1.2.2 实现条件1.2.3 模拟实现1.2.4 效果1.3 strcmp1.3.1 功能1.3.2 关于返回值1.3.3 字符串比较依据1.3.4 模拟实现1.3.5 效果2.长度受限制的字符串函数介绍2.1 strncpy2.1.1 功能2.1.2 ...原创 2022-03-23 16:16:53 · 1140 阅读 · 1 评论 -
三种方法模拟实现strlen库函数
1.计算器方法#include<stdio.h>#include<assert.h>size_t my_strlen(const char* str)//size_t表示返回值为无符号整数,const的作用是保护指针指向的值不被改变{ int count = 0; assert(str);//assert断言,若str指针为NULL会报错 while (*str != '\0') { str++; coun原创 2022-03-20 19:10:34 · 279 阅读 · 2 评论 -
深入理解C语言指针(2)
1.函数指针首先看一段代码:#include <stdio.h>void test(){printf("hehe\n");}int main(){printf("%p\n", test);printf("%p\n", &test);return 0;}输出的结果:输出的是两个地址,这两个地址是 test 函数的地址。那我们的函数的地址要想保存起来,怎么保存?下面我们看代码:void test(){printf("hehe\n");..原创 2022-03-16 08:00:00 · 864 阅读 · 0 评论 -
深入理解C语言指针(1)
目录1. 字符指针2. 指针数组3. 数组指针3.1 数组指针的定义3.2 &数组名VS数组名4. 数组参数、指针参数4.1 一维数组传参4.2 二维数组传参4.3 一级指针传参4.4 二级指针传参1. 字符指针在指针的类型中我们知道有一种指针类型为字符指针 char*一种使用方式如下:int main(){const char* pstr = "hello bit.";//这里是把一个字符串放到pstr指针变量里了吗?..原创 2022-03-12 12:39:15 · 147 阅读 · 0 评论 -
C语言---整形在内存中的存储
目录1.整形家族2.变量的创建3.整形在内存中的存储3.1原码、反码、补码3.2 大小端介绍3.3 写程序判断编程环境是大端还是小端存储1.整形家族2.变量的创建 C语言中,变量的创建是需要在内存中开辟空间的(开辟空间的大小是根据不同的类型而决定的),而内存中空间类型主要分为三类:栈区,堆区,静态区。不同类型变量在内存中开辟的空间位置如下图:3.整形在内存中的存储 既然已经知道变量的创建是要在内存中开...原创 2022-02-26 18:04:36 · 652 阅读 · 2 评论 -
初始C语言结构体
目录1. 结构体的声明1.1 结构的基础知识1.2 结构的声明1.3 结构成员的类型1.4 结构体变量的定义和初始化2. 结构体成员的访问3. 结构体传参1. 结构体的声明1.1 结构的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.2 结构的声明下面举一个学生例子:1.3 结构成员的类型结构的成员可以是标量、数组、指针,甚至是其他结构体。(见上面学生例子)1.4 结构体变量...原创 2022-02-18 20:57:23 · 416 阅读 · 0 评论 -
C语言---指针
1. 指针是什么?指针理解的2个要点: 1. 指针是内存中一个最小单元的编号,也就是地址 2. 平时口语中说的指针,通常指的是指针变量,是用来存放内存地址的变量总结:指针就是地址,口语中说的指针通常指的是指针变量那我们就可以这样理解:#include <stdio.h>int main(){int a = 10;//在内存中开辟一块空间int *p = &a;//这里我们对变量a,取出它的地址,可以使用&操作符。 ...原创 2022-02-10 18:41:19 · 108 阅读 · 0 评论 -
C语言---操作符
目录1. 操作符分类2. 算术操作符3. 移位操作符 3.1 整数在内存中的存储 3.2左移操作符 3.3 右移操作符4. 位操作符5. 赋值操作符6. 单目操作符 6.1 单目操作符介绍 6.2 ++和--操作符7. 关系操作符8. 逻辑操作符9. 条件操作符10. 逗号表达式11. 下标引用、函数调用和结构成员1. 操作符分类算术操作符移位操作符位操作符赋值...原创 2022-01-30 17:18:42 · 894 阅读 · 1 评论 -
C语言---数组
目录1. 一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储3. 数组越界4. 数组...原创 2022-01-27 20:00:11 · 1185 阅读 · 1 评论 -
扫雷---C语言
大家应该都玩过扫雷游戏,今天我们就简单实现一下这个游戏。首先,肯定要有进入游戏界面也就是主页:至于主体框架函数,见下:类似于三子棋主体,可以参考上篇博客。相关变量声明即函数定义:棋盘的初始化:棋盘的打印:利用随机值设置雷(与三子棋利用随机值落子类似)排雷:计算周围雷个数,显示数字代码如下:#include<stdio.h>#include<stdlib.h>#include<time...原创 2022-01-23 19:09:34 · 2731 阅读 · 1 评论 -
三子棋问题---详细引导解析
问题:在3*3格子中,两人先后下棋,当其中一人的棋子行或列或斜三子一线时,即赢,否则平局。游戏分析:游戏主框架:选择1,进入game游戏,三步走:初始化棋盘,打印棋盘,人机对弈主过程了解了,接下来我们来具体讲解一下相关功能函数的实现:1.棋盘的初始化:2.棋盘的打印:3.玩家走:4.电脑走:5.判断输赢:6.判断棋盘是否满了:程序如下:#include<stdio.h>...原创 2022-01-22 19:57:12 · 196 阅读 · 1 评论 -
C语言---函数详解
1. 函数是什么?数学中我们常见到函数的概念。但是你了解C语言中的函数吗?维基百科中对函数的定义:子程序 在计算机科学中,子程序,是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。 一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。2. C语言中函数的分类 1. 库函数 2. 自定义函数2.1 库函数为什么会有库函数? 1....原创 2022-01-19 15:19:40 · 343 阅读 · 2 评论 -
分支和循环语句---循环语句
目录3. 循环语句 3.1.while循环 3.1.1 while语句中的break和continue3.2 for循环 3.2.1 for循环语法 3.2.2 for语句的循环控制变量 3.2.3一些for循环的变种 3.3 do...while()循环 3.3.1 do语句的语法 3.3.2do语句的特点3. 循环语句...原创 2022-01-17 16:56:14 · 4454 阅读 · 2 评论 -
分支和循环语句----分支语句
目录1.什么是语句2. 分支语句(选择结构)2.1 if语句2.1.1 关于else2.1.2 if书写形式的对比2.1.3 练习2.2 switch语句2.2.1 在switch语句中的 break2.2.2 default子句1.什么是语句一般来说一个;就是一条语句但也不要认为是绝对的,比如if-else语句就是一条语句,因为不是执行if,就是执行elseC语句可分为以下五类:1. 表达式语句2. 函数调用语句3. 控制语...原创 2022-01-15 16:52:50 · 150 阅读 · 2 评论 -
“初始C语言”---2
目录函数数组操作符常见关键字define 定义常量和宏指针结构体函数假如我们要写计算两个数相加的代码: 如果写成函数形式:函数特点:简化代码,代码复用。函数形式:函数的使用:数组1.数组的定义C语言中给了数组的定义:一组相同类型元素的集合2.数组的下标C语言规定:数组的每个元素都有一个下标,下标是从0开始的。 数组可以通过下标来访问的。For example:3.数组的使用...原创 2022-01-13 20:26:55 · 262 阅读 · 1 评论 -
起航----“初始C语言”---1
目录为何要学好C语言课前一碗小鸡汤第一个C语言程序数据类型变量,常量字符串+转义字符+注释选择语句循环语句为何要学好C语言C生万物,C语言是编程之本C语言是母体语言,是人机交互接近底层的桥梁近50年间,在TIOBE 排行榜中,C/C++位置长期霸占前三名,没有丝毫撼动,可谓经典永不过时!课前一碗小鸡汤欲戴王冠,必承其重每日每天都是24h,想超越别人,就要付出更多努力!成功之路总是孤独的,但山顶的风景真的很美!学好C语..原创 2022-01-11 19:02:55 · 302 阅读 · 3 评论