- 博客(11)
- 收藏
- 关注
原创 C语言实现堆。
1.heap.h#pragma once#include"common.h"#define HeapDataType inttypedef struct Heap{ HeapDataType* base; int capacity;//容量 int size;}Heap;void HeapInit(Heap* php, int n);//初始化void MinHeapInsert(Heap* php, HeapDataType x);//插入HeapDataType MinHeap
2020-05-28 08:49:07
89
原创 栈+队列。
1.栈#pragma once#include"common.h"//顺序栈#define SEQ_STACK_DEFAULT_SIZE 8#define SEQ_STACK_INC_SIZE 3typedef struct SeqStack{ ElemType* base; size_t capacity; int top;}SeqStack;void SeqStackInit(SeqStack* pst);//初始化bool SeqStackIsFull(SeqSta
2020-05-19 21:36:04
195
原创 顺序表-链表-双向循环链表。
1.顺序表#pragma once#include"common.h"#define SEQLIST_DEFAULT_SIZE 10typedef struct SeqList{ ElemType* base; size_t capacity;//容量 size_t size;//实际大小}SeqList;static bool _Inc(SeqList* pst); //增加成功返回 true, 失败返回falsevoid SeqListInit(SeqList* pst);
2020-05-19 18:30:17
195
原创 程序环境和预处理。
在ANSI C的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。翻译环境组成一个程序的每个源文件通过编译过程分别转换成目标代码(object code)每个目标文件由链接器(linker)捆绑在一起,形成一个单一而完整的可执行程序链接器同时也会引入标准C函数库中任何被该程序所用到的函数,而且它可以...
2020-04-20 16:30:15
118
原创 简易通信录+动态分配+文件操作。
之前写过一个开辟固定大小空间的通讯录,在此基础上进行修改。call.h#ifndef __CALL_H__#define __CALL_H__#define _CRT_SECURE_NO_WARNINGS 1#pragma warning(disable : 4996)#include<stdio.h>#include<Windows.h>#includ...
2020-04-19 22:10:46
103
原创 动态内存管理。
为什么存在动态内存分配 ?我们已经掌握的内存开辟方式有:int val = 20;//在栈空间上开辟四个字节char arr[10] = {0};//在栈空间上开辟10个字节的连续空间但是上述的开辟空间的方式有两个特点:空间开辟大小是固定的。数组在申明的时候,必须指定数组的长度,它所需要的内存在编译时分配。但是对于空间的需求,不仅仅是上述的情况。有时候我们需要的空间大小在程序...
2020-04-19 17:01:03
144
原创 结构体内存对齐+简易通讯录。
一.深入讨论一个问题:计算结构体的大小这也是一个特别热门的考点: 结构体内存对齐//练习struct S1 { char c1; char c2; int i;}; printf("%d\n", sizeof(struct S1));//练习struct S2{ double d; char c; int i; }; ...
2020-04-18 20:34:17
99
原创 字符串函数-总结。
1.模拟实现strlenint mystrlen(const char* str){ int n = 0; while (*str != '\0') { n++; str++; } return n;}int main(){ char arr[] = "abcdeg"; printf("%d\n", mystrlen(arr)); return 0;}2.模...
2020-04-14 13:49:00
86
原创 数据在内存中的存储。
------之整型。类型的基本归类:1.整形家族char : unsigned char signed charshort: unsigned short [int] signed short [int]int: unsigned int signed intlong: unsigned long [int] signed long [...
2020-04-07 13:36:24
118
原创 简易扫雷小游戏。
今天将给大家讲解如何使用C语言多文件编程实现扫雷小游戏,这个扫雷游戏有如下几个主要功能:显示该点周围雷的个数 第一次下子,不炸死 坐标周围没雷,可以实现展开我们只要输入坐标就可以扫雷了。其实要想实现这也不难,我们要用几个算法模块来模拟游戏规则,需要用函数来调用各个模块使游戏跑起来,那么第一步我们就要构思一个棋盘,在开始游戏的界面可以打印两个棋盘,有0和1的棋盘是给我们设计者看的,它可...
2020-03-28 20:50:58
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人