自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C/C++常见的面试笔试题

1、进程的内存空间的划分为那些段,各存储什么数据?划分的段存储的数据test 代码段存储二进制指令、常量data数据段存储初始化的全局变量和被static修饰的局部变量bss 静态数据段存储未初始化的全局变量和被static修饰的局部变量stack 栈存储局部变量、块变量,由操作系统管理,小heap 堆由程序员手动管理,大2、全面叙述关键字static的作用改变存储位置: 改变局部变量的存储位置,由stack变成data或bss延长生命周期

2021-01-26 21:58:16 291 5

原创 算法与数据结构——各种链表的操作和组成

链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。单链表单链表的各种代码如下// 链表的节点typedef struct Node{ TYPE data; // 数据域 struct Node* next; // 指针域,指向下一个节点}Node;// 创建节点Nod

2020-11-15 19:12:17 127 1

原创 算法与数据结构——循环队列和链式队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。

2020-11-15 17:50:24 195

原创 算法与数据结构——顺序栈和链式栈

顺序栈采用地址连续的存储空间(数组)依次存储栈中数据元素,入栈和出栈运算都是在栈顶进行,而栈底位置是固定不变的.栈顶位置是随入栈和出栈操作而变化的,故需用一个整型变量top来记录当前栈顶元素在数组中的位置。顺序栈的各种代码如下:#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#define TYPE int创建栈typedef struct Stackorder{ TYPE* ptr

2020-11-15 16:51:46 217

原创 算法与数据结构——顺序表

顺序表的各种代码如下#include <stdio.h>#include <stdbool.h>#include <stdlib.h>#define TYPE int// 设计顺序表结构:元素之间必须是连续的typedef struct Order{ TYPE* ptr; int cal; int cnt;}Order;//创建顺序表Order* create_order(int cal){ // 给表结构分配内存 Order* order

2020-11-14 18:06:15 95

原创 数据结构小概述

什么是数据结构:是一门研究数据之间关系的一门学科,主要有两种需要研究的关系:物理关系:数据在内存中的实际关系。顺序结构:根据数据之间的相对位置确定关系。链式结构:在数据中添加一个指针域,用于指向跟它有关系的数据。逻辑关系:无视物理关系,人为添加的一种关系。集合:数据之间同属于一个集团,除此之外没有任务关系。表:数据之间存在一对一关系,如:数组(顺序表),链表(链式表)。树:数据之间存在一对多关系。图:数据之间存在多对多关系。注意:我们常用说的数据结构指的是逻辑关系,而数据结构在内存的存储

2020-11-14 15:08:26 70

原创 指针总结

什么是指针: 类型 定义指针变量 整数 内存编号为什么使用指针: 1、共享变量、输出参数 2、提高传参效率 3、使用堆内存(无法取名)如何使用指针: 定义:类型*变量名_p; 变量名以p结尾,用于与普通变量加以区分 一个*只能定义一个指针变量 类型决定了该指针能够访问多少个字节 初始值不确定,必须初始化为NULL 赋值:变量名_p = 地址; 地址必须是有效且有意义的,如果无效无意义,在赋值时也不会报错 栈内存:int* p = &

2020-11-01 14:44:47 61 1

原创 指针

什么是指针:指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,代表了内存的编号,通过这个编号可以访问对应的内存。为什么要使用指针:1、函数之间相互独立,但有时候需要共享变量传参是值传递全局变量容易命名冲突使用数组还需要传递长度命名空间是相互独立的,但是地址空间是同一个,所以指针可以解决这个问题。2、由于函数与函数之间是值传递(拷贝),对于字节数多的变量,值传递的效率比较低,如果传递的是变量的地址,只需要传递4|8个字节,提高传参效率。3、堆内存无法取名字,它不能

2020-10-27 20:50:40 81

原创 用C语言代码编写一个通讯录

用C语言制作一个简易通讯录#include <stdio.h>#include <stdlib.h>#include <getch.h>static int count = 0; //有效人数数量static char name[100][20]; //姓名static char sex[100]; //性别static char tel[100][12]; //电话//按任意按键继续..void anykey_continue(void){

2020-10-24 20:20:37 644

原创 用C语言代码编写一个五子棋小游戏

五子棋:需要的数据:1、定义一个1515的棋盘2、定义变量用于记录棋子的坐标3、定义角色变量业务逻辑:是否需要对数据进行初始化for( ; ; ){1、刷新屏幕,显示棋盘2、落子检查坐标是否合法,该位置不能有棋子3、检查是否五子连珠刷新屏幕是:游戏胜利4、交换角色}5、宣布平局,结束游戏斜体样式*代码如下图:...

2020-10-20 20:33:39 3664 2

原创 函数

函数:function一段具有某项功能的代码的集合,是C语言管理代码的最小单位。把代码封装成一个个函数,可以方便管理、调用代码。函数的分类:标准库函数:C语言标准委员会为C语言以函数的形式提供的一些基础的功能,被封装在libc.so库中,使用时需要包含头文件,函数名([参数])即可调用#include <ctype.h>int isalnum(int c);功能:当c对应的ASCII码表中的字符是数字、字母字符时返回真int isalpha(int c);功能:当c对应的AS

2020-10-17 17:18:47 99

原创 标准C语言

C语言简介:BCPL->newB->C->UNIX->Minix->Linux->gcc;C语言诞生于1971~1973年,在肯.汤普逊和丹尼斯.里奇领导下编写完成,归属于美国的贝尔实验室。C语言为了专门编写操作系统而诞生的语言,所以天生适合对硬件编程,也因为速度快而著称,也非常适合实现数据结构和算法。由于出现时间早,有很多缺陷,也没想过普通人能使用C语言编程,因此存在着缺陷,但是前辈总结了一些可以避免的经验《C陷阱与缺陷》,《C程序设计语言》。自由源于自律:C89

2020-10-15 10:59:32 564

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除