
我的C语言学习之路
文章平均质量分 63
我的c语言学习之路
半生瓜のblog
道阻且长。
展开
-
【C】高并发线程池设计
由一个任务队列和一组处理任务队列的线程组成。一旦工作进程需要处理某个可能"阻塞"的操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理。原创 2022-08-29 12:12:06 · 1025 阅读 · 0 评论 -
【C】高并发内存池设计
就是真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若剩余的内存块不够了,就再继续申请新的内存, 统一对程序所使用的内存进行分配和回收。这样做的一个显著优点是,使得内存分配的效率得到很大提升。个人理解:什么是内存池 & 内存池的用处。减少频繁的系统调用以减少时间开销,一次性申请一块大内存,然后给需要的程序进程分配,不够了就再要。.........原创 2022-08-26 21:08:02 · 1267 阅读 · 0 评论 -
【C】解决error: expected ‘;’ before ‘)’ token
看一下是不是有行多了半个括号)原创 2022-05-03 00:02:29 · 5855 阅读 · 3 评论 -
C语言风格字符串注意点
C语言风格字符串注意点注意:strlen()sizeof()/转义字符种类这种写法编译器会自动在结尾填充\0char a[] = “aaas3”;这种写法需要手动填充\0,否则后面会输出多余的内容char b[] = { ‘a’,‘a’,‘a’,‘s’,‘3’};这种写法也要手动添加\0,否则后面会输出多余的内容char c[6];c[0] = ‘a’;c[1] = ‘a’;c[2] = ‘a’;c[3] = ‘s’;c[4] = ‘3’;c[5] = ‘\0’;这种原创 2021-10-16 19:47:34 · 252 阅读 · 0 评论 -
解决vs2019无法解析的外部符号问题,未找到xxx的函数定义
问题如图:解决:将光标移动到该函数上点击创建函数,然后将你写的函数定义复制到里面。原创 2021-05-27 21:14:59 · 5692 阅读 · 4 评论 -
_main函数 int __cdecl invoke_main(void) (?invoke_main@@YAHXZ)
问题描述:error LNK2019: 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中引用了该符号解决:看一下主函数写没写错原创 2021-05-30 12:10:42 · 2503 阅读 · 7 评论 -
关于free之后的报错问题
问题描述:解决:检查一下你malloc出来的内存空间对不对。原创 2021-06-01 10:06:30 · 215 阅读 · 0 评论 -
初识EasyX图形编程
相关视频——【C/C++/EasyX】学编程,做游戏,小白快速入门图形编程,零基础入门到精通,学习就是这么快乐_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili我的小站——半生瓜のblog,同步更新。初识EasyX图形编程1.基本说明2.原理3.安装4.颜色5.坐标和设备6.窗口函数7.图形绘制函数8.文字绘制函数9.图像处理函数10.鼠标消息函数11.键盘消息函数12.其他函数13.音乐播放易错集锦1.基本说明EasyX是针对C++的图形库,可以帮助C/C++初学者快速上手图形和游戏编程。.原创 2021-05-09 13:18:42 · 9205 阅读 · 11 评论 -
C语言实现学生成绩管理系统(EasyX图形界面)
我的小站——半生瓜のblog代码文件下载链接——链接学生成绩管理系统学生成绩管理系统效果图流程&注意要点代码实现学生成绩管理系统效果图流程&注意要点核心部分——EasyX显示图形界面,结构体数组和文件操作负责对数据进行各种操作。只要一进去程序就对存储数据的文件进行读取,如果有数据直接读到学生结构体数组里面,得到当前结构体数组中的数据数量(几个人),并将所有数据打印到屏幕上。管理员用户输入密码验证——读取文件——验证用户输入是否正确。显示所有数据——如果通过文件.原创 2021-07-18 19:21:06 · 31503 阅读 · 56 评论 -
C语言实现推箱子小游戏(2)
我的小站——半生瓜のblog相关文章——C语言实现推箱子小游戏推箱子编译软件:VS2019下载:代码文件我已经上传到GitHub链接下载最新的那个!(文件夹形式的)注意:fopen scanf编译器认为的不安全报错解决:项目属性-C/C+±预处理器-预处理定义-编辑-加入_CRT_SECURE_NO_WARNINGS图形库函数xxx等问题解决:项目属性-高级-字符集-使用多字节字符集图形窗口注意贴图顺序以及参数文件读取问题——链接相关有帮助的.原创 2021-07-15 11:52:25 · 625 阅读 · 5 评论 -
C语言实现学生成绩管理系统
相关视频——https://www.bilibili.com/video/BV13z4y117qC?p=8我的小站——半生瓜のblog代码实现#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<conio.h>//从键盘接收一个按键,无序按回车的那种#include<stdlib.h>#include<string.h>//定义学生typedef struct _Stude.原创 2021-05-19 19:44:32 · 1057 阅读 · 0 评论 -
C语言文件操作
相关视频——C语言精华——C语言文件操作,文件打开、关闭、读取、定位如何操作?为你逐一讲解文件操作标准库函数_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili我的小站——半生瓜のblogC语言文件操作打开文件关闭文件读取文件fgetcfgetsfread写入文件fputcfputsfwrite文件定位fseekrewindftell文件分类:一种是文本文件,一种是二进制文件。文本文件:保存的时候,没一个字符对应一个字节。二进制文件:按照二进制编码保存的文件。文件操作:打开文件打开.原创 2021-05-18 16:45:10 · 889 阅读 · 23 评论 -
C语言实现图书管理系统
相关视频——C语言课程设计实战:图书管理系统!计算机专业同学的一大难题,今天用代码实战演示,手把手带你完成!_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili我的小站——半生瓜のblog1.前言在开始之前我们要解决三个问题。指针如何变成变量用变量的地址int* p = NULL;int a = 1;p = &a;*p = 1001;动态内存申请 p = (int*)malloc(sizeiof(int));*p = 10033;什么是结构体?.原创 2021-05-07 21:53:31 · 1875 阅读 · 5 评论 -
C语言简单的猜数字游戏
#include<stdio.h>#include<stdlib.h>#include<time.h>int main(void){ int num = 0; srand((unsigned)time(NULL)); int i = rand(); while (scanf("%d", &num) != EOF) { if (num == i) { printf("恭喜你,猜对了。\n"); break; } els原创 2021-04-06 15:05:13 · 281 阅读 · 0 评论 -
C语言实现数字字母雨小程序
//字母数字雨#include<stdio.h>//随机数头文件#include<stdlib.h>//包含easyX图形库 可以使用绘图函数 以及鼠标操作#include<graphics.h>#include<conio.h>#define STR_SIZE 20//没串雨的字符个数#define RAIN_NUM 128//雨的数量#define WIDTH 960#define HEIGHT 640#define STR_W 15原创 2021-03-31 21:03:21 · 3415 阅读 · 0 评论 -
C语言实现飞翔的小鸟小游戏
参考视频https://www.bilibili.com/video/BV1Xo4y1R7hs缺陷:撞柱子功能暂未实现//飞翔的小鸟#include<stdio.h>//C语言标准头文件#include<graphics.h>//图形库头文件#include<conio.h>//按键处理#include<time.h>//随机函数#include<mmstream.h>//多媒体库#pragma comment(lib,"winmm原创 2021-03-27 15:00:17 · 1927 阅读 · 0 评论 -
C语言实现推箱子小游戏
C语言实现推箱子小游戏包括黑窗和图形界面参考视频 https://www.bilibili.com/video/BV1By4y1a79o?t=4428BUG:当人进入到目的地的时候会无法移动。#include<stdio.h>#include<stdlib.h>//这个库函数不是C 语言标准的,在VS上可以直接用,在Linux上就不行。#include<conio.h>//使用布尔类型#include<stdbool.h>//使用图形界面-原创 2021-03-26 23:50:11 · 724 阅读 · 1 评论 -
C语言实现贪吃蛇小程序
参考视频https://www.bilibili.com/video/BV1LN41197zV?from=search&seid=15462998985727977257代码有点缺陷:1.食物有可能会生成在吃不到的地方 2.吃掉食物的音效添加失败//涉及、 结构体 、循环、 函数 、easyx-是一个图形库帮助做界面的、数组、枚举//1做界面 创建一个窗口 图形窗口//2创建一个蛇 蛇的结构 #include<stdio.h>#include<graph原创 2021-03-25 20:46:18 · 530 阅读 · 0 评论 -
C语言——实现两个数的交换(多种方法)
C语言——实现两个数的交换(多种方法)1.创建临时变量的(1)直接在主函数中#include<stdio.h>int main(void){ int a = 10; int b = 20; int c = 0;//创建c为临时变量 printf("交换之前:a=%d,b=%d\n", a, b); c = a; a = b; b = c; printf("交换之后:a=%d,b=%d\n", a, b ); return 0;}(2)创建一个函数//思路:将原创 2020-12-19 14:42:43 · 25745 阅读 · 2 评论 -
C语言函数中链式访问的一个有趣的题目
C语言函数中链式反应访问的一个有趣的小例题推荐哔哩哔哩比特鹏哥的这个视频——讲解链接首先什么是函数链式访问 把一个函数的返回值作为另外一个函数的参数。例子#include<stdio.h>int main(void){ //求字符串的长度 int len = 0; //第一种方法 len = strlen("abc"); printf("%d\n", len);原创 2020-12-07 15:28:54 · 450 阅读 · 0 评论 -
C语言函数二分查找(折半查找)
C语言函数二分查找(折半查找)参考视频讲解哔哩哔哩比特鹏哥的视频 ——链接////二分查找#include <stdio.h> //二分查找 //在一个有序数组中查找具体的某个数 //如果找到了返回,这个数的下标,找不到返回-1 //例如我要在这个数组中找到7 //首先找到这组被查找元素的中间的元素 //假如说发现中间元素5要比我要找的数要小 //说明我要找的数在5的右边,这样我的范围就缩小了一半 //查找了一次范围就缩小了一半,这样的速度是比较快的 //这就叫二原创 2020-12-06 23:46:24 · 664 阅读 · 0 评论 -
C语言-输出水仙花数
本文思路想法来自——C语言中文网C语言输出水仙花数1.什么是水仙花数 一个三位数的个十百位的各个平方等于这个数本身。 例如:153=1³+5³+3³,所以153是水仙花数。2.代码#include<stdio.h>int main(void){int num,bai,shi,ge;//定义这个原创 2020-12-06 14:35:20 · 844 阅读 · 0 评论 -
C语言-阶乘-九九乘法口诀表-最大公约数-闰年
新手C语言学习(4)几个循环的小练习学习b战上张鹏伟老师的课C语言学习(1)计算n的阶乘在这里不考虑溢出的情况#include<stdio.h>int main(void){ int i = 0; int n = 0; int ret = 1; printf("请输入一个整数:"); scanf("%d",&n); for(i = 1;i <= n ;i++) { ret = ret * i;原创 2020-12-06 00:05:17 · 1227 阅读 · 2 评论 -
C语言的灵魂——指针
相关视频——强烈推荐【强烈推荐】4小时彻底掌握C指针 - 顶尖程序员图文讲解 - UP主亲自翻译校对 (已完结)_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili我的小站——半生瓜のblog在学习这个之前,你需要了解函数、循环、数组等C语言知识C语言的灵魂——指针1.指针基本介绍代码示例指针的算数运算2指针的类型算数运算void空指针3.指向指针的指针4.函数传值&传(址)引用5.指针和数组数组作为函数参数指针和字符数组指针和二维数组指针和多维数组多维数组作为参数传给函数6.指针和动态.原创 2021-05-16 20:17:37 · 493 阅读 · 7 评论 -
C语言动态内存开辟
1.动态内存管理1.为什么存在动态内存管理当前我们知道的内存的使用方式主要是两种。1.创建一个变量int a = 10;//局部变量 - 在栈区中开辟空间int g_a = 10;//全局变量 - 静态区在内存中,分为三个区域栈区-局部变量、函数的形参、堆区-动态内存分配-malloc-free-calloc-realloc静态区-全局变量、静态变量、statint int a = 10;2.创建一个数组int arr[10] = { 10 };(局部范围-栈区,全局范围-静态原创 2021-04-22 17:10:55 · 523 阅读 · 0 评论 -
C语言类型转换
类型转换类型转换: 在C语言中,当一个运算符的几个操作数类型不同时,编译器会在进行运算之前将他们共同转化为某种一样的数据类型,一般来说编译器会先将占用内存较小的数据转化为占用内存较大的类型,然后在进行运算,这样做的目的是保证计算的精度。例如:printf("%d",1+1.0);输出整型,结果为 0。printf("%f",1+1.0);输出浮点型,结果为 2.000000。强制类型转换就是变量或数前加上要转换的类型。例如:printf("%d\n",1+(int)1.6);原创 2021-03-31 00:14:44 · 483 阅读 · 0 评论 -
C语言自定义数据类型
结构体参考视频:https://www.bilibili.com/video/BV1oi4y1g7CF?p=58大纲:结构体的声明结构体的自引用结构体内存对齐结构体传参结构体实现位段(位段的填充&可移植性)char short int long short float double -这些都叫做内置类型,是C语言自己的类型对于一些复杂对象,光用内置函数是不够的。复杂类型(自定义类型)-结构体、枚举、联合体。1.结构体的声明结构体的基础知识:结构原创 2021-03-28 11:27:47 · 2660 阅读 · 0 评论 -
自定义数据类型
枚举枚举故名思义就是一一列举把可能的取值一一列举1定义enum Day//星期{ //枚举的可能取值 Mon, Tus, ...};enum Sex//星期{ //枚举的可能取值—— 常量 MALE,//0 FEMALE,//1 可以在后面加入 = 给他一个初始值 //如果前面的赋值了,后面的没有赋值,就按顺序往下延。 SECRET//2 };int main(void){原创 2021-03-22 20:12:44 · 230 阅读 · 0 评论 -
C语言——条件操作符(三目操作符)
C语言——条件操作符(三目操作符)形式exp1 ? exp2:exp3 如果表达式1为真,那么就计算表达式2,表达式2的结果为整个式子的 结果; 如果表达式1为假,那么就计算表达式3,表达式3的结果为整个式子的结果。例:问:将下列式子转化为条件表达式是什么样的?if (a > 5) b = 3;原创 2020-12-28 18:23:11 · 6278 阅读 · 0 评论 -
C语言——强化记忆strlen与sizeof
C语言——强化记忆strlen与sizeof由于我的记性比较差,故作此篇来提醒自己。首先:strlen和sizeof两个东西没有什么关联之后:详细解释sizeof运算符: sizeof运算符允许程序存储指定类型值所需的空间大小。表达式的值是一个无符号整数,代表存储属于类型名的值所需要的字节数。\0在其中算一个字符strlen库函数-要引头文件 &nb原创 2020-12-12 01:01:44 · 269 阅读 · 0 评论 -
C语言-初识递归
C语言-初识递归什么是递归?——就是函数自己调用自己 百度上是这么说的:程序调用自身的编程技巧成为递归。递归作为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序,就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归主要思考方式在于:把大事原创 2020-12-08 00:43:56 · 347 阅读 · 0 评论 -
新手C语言学习(3)
新手C语言学习(3) 今天在牛客网写简单题的时候,一道计算五个数的平均数的题吸引了我,我以为很简单,但我却出现了很多的错误。题目描述 从键盘输入5个学生的成绩(整数),求他们的平均成绩(浮点数,保留一位小数)。输入描述一行,连续输入5个整数(范围0~100),用空格分隔。输出描述一行,输出5个数的平均数(保留原创 2020-12-01 17:30:30 · 935 阅读 · 1 评论 -
新手C语言学习(2)
新手C语言学习(2)1.首先什么是质数(素数)2.错误示范3.正确示范C语言典型例题——判断一个数是否为质数(素数)这里这只介绍一种方法1.首先什么是质数(素数)2.错误示范3.正确示范首先什么是质数(素数) 我开始认为素数和质数是两个东西,其是他两个是一个东西。 除了1和它本身之外,不能被其他数所整除即为质数(素数原创 2020-11-27 21:55:42 · 422 阅读 · 0 评论 -
新手C语言学习(1)
新手C语言学习(一) 在昨天的c语言学习中所发现值得积累的东西。 首先,在vs2017中,无法识别scanf困扰了我一下,于是我去网上搜索解决办法,借鉴这位老哥一下(链接)就是依次点开项目-属性-c/c+±预处理器,然后_CRT_SECURE_NO_WARNINGS输入,应用就完事了。 &nbs原创 2020-11-26 16:41:07 · 433 阅读 · 2 评论