C语言
文章平均质量分 82
时而癫狂的匡匡
杭州电子科技大学19籍本科23籍硕士,边学习,边分享。
展开
-
stm32f103指南者——实例小游戏俄罗斯方块
在stm32f103指南者开发实战,俄罗斯方块算法讲解分析。原创 2022-07-10 22:40:39 · 4854 阅读 · 56 评论 -
C语言动态内存分配原理以及堆区的使用(malloc、calloc、realloc、free)
C语言动态内存分配文章目录C语言动态内存分配堆和栈动态内存调用释放的函数malloccallocreallocfree内存管理内存泄漏动态内存分配原理(32bit操作系统为例)内存碎片什么时候使用动态内存堆和栈堆区 – 动态内存手动申请使用,使用完之后,手动释放。栈区 – 自动内存程序允许时,操作系统自动分配。通常存放普通局部变量 函数调用动态内存调用释放的函数#include <stdio.h>void *malloc(size_t size);void原创 2022-01-25 21:07:10 · 1265 阅读 · 0 评论 -
C语言预处理指令大全
C语言预处理指令文章目录C语言预处理指令define语法Linux编译时指定宏的值及宏删除已有的宏C语言允许多参数的宏及宏函数宏函数需要注意的事项参数宏创建字符串预处理粘合剂linewarningerrorpragma条件编译语法格式头文件卫士C语言中带#的为预处理指令Linux中 (gcc -E xxx.c) 进行预处理Linux中(gcc -D 宏 = 值 xxx.c)定义宏define#define MACRO_NAME CONTENT//MACRO_NAME 宏名称 一般用于大写原创 2022-01-23 16:37:55 · 2533 阅读 · 0 评论 -
虚拟内存位置结构(保留区、代码区、栈区、堆区、字面值常量区)与变量修饰符(const、auto、static、register、volatile、extern)
虚拟内存位置结构与变量修饰符(const、auto、static、register、volatile、extern)文章目录虚拟内存位置结构与变量修饰符(const、auto、static、register、volatile、extern)32位操作系统虚拟内存以32位操作系统为例保留区代码区字面值常量区(不可修改)编译后代码指令全局数据区BSS段 (未定义)DATA段 (已定义)堆栈区栈区堆栈缓冲区堆区:内核区64位操作系统虚拟内存结构变量的修饰符constconst 作用const与指针指针常量 与原创 2022-01-22 22:58:04 · 1052 阅读 · 0 评论 -
Linux下推箱子(C语言二维数组传参)
推箱子目录推箱子一、设计基本思路二、Linux下键盘值的调用三、 二维数组的函数调用(可变长二维数组)四、源代码一、设计基本思路首先,我们得有地图要有墙,箱子,推箱子的人(代码中推箱子的是老鼠,whatever),推箱子的目的地,当然还有路。但是,如果这些要在终端实现,有那么一点小困难。我们可以用一些简单的符号代替。(“#”-> wall) ("&"->rat) (" “->road) (”@"->box) (“o”->term)还有一些问题,比如原创 2022-01-04 22:03:33 · 2648 阅读 · 0 评论 -
2048游戏(C语言LINUX环境下,键盘读取实例)
2048游戏(C语言LINUX环境下,键盘读取实例)目录2048游戏(C语言LINUX环境下,键盘读取实例)一、Linux键盘值的调用 “get_keyboard.h”二、代码基本思路三、源代码一、Linux键盘值的调用 “get_keyboard.h” 在Linux下是没有自带的调取键盘的库的,所以我们得自己写一个头文件“get_keyborad.h”来获取键盘的值。当然如果在Windows环境下,直接调用“conio.h”头文件中就可以了。// get_keyboard.h在linux下没有原创 2022-01-02 17:39:14 · 3240 阅读 · 1 评论 -
C语言宏定义(宏参数创建字符串、预处理粘合剂)
#define CNAME value 或者 #define CNAME expression,常见的常量的定义是这样的,但是宏定义可比想象中的要灵活的多。它可以定义宏常量、宏函数,还可以输入数据类型。然而,宏定义还可以直接将其他类型的数据直接转化成char*类型的字符串,作为预处理的粘合剂使用。1.宏定义的基本知识#define在预处理阶段被展开,众所周知C语言的编译过程中需要4个阶段预处理、编译、汇编、链接这里就不一一说明了,显然define在最初的阶段就会被...原创 2021-12-16 20:56:26 · 4384 阅读 · 3 评论 -
含可变长参数的函数的使用(C语言<stdarg.h>)
在C语言的学习和应用中,我们常常需要输入多个参数,然而参数的个数并不确定,这就给我们函数参数的初始化带来一定的挑战。实际上,这样的函数定义是存在方法的。RET_TYPE func_name(type first_arg, ...){ //此函数结构就可以接收任意多个参数。}举个栗子(求任意多个整数之和):#include<stdio.h>#include<stdarg.h> //varible parament 可变参数必须要添加in...原创 2021-12-16 14:49:18 · 868 阅读 · 0 评论 -
c语言 字符串的系列操作(字符串的逆序输出、字符串类型与int、double的互相转换)
1.字符串的逆序输出c语言把字符串逆转看起来是一件非常简单的事情,就如同把数组逆序一样,本质上字符串就是一个char类型的数组,但是其中有不少的细节值得注意。#include<stdio.h>#include<string.h>//参数char *str 不用constvoid reverse(char *str){//不同于数组,不需要传递长度 size_t len = strlen(str);//长度 size_t...原创 2021-12-14 22:28:02 · 1185 阅读 · 0 评论