自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言对于栈和队列的一些理解

栈最简单的理解最极致的享受1.先看栈,我是这样理解的,把他看成是一个瓶子(只是在脑子想象的瓶子)而且数据进出都只有唯一的一个口子,如下图看的出来,从口子进去那么a第一个进去但是被压在最后一个位置,所以你要把他拿出来的时候只能最后一个拿出来因此就可以明白栈的操作了。这时候我们发现有一个top,你可以理解为一个标示符号,当你设置栈位空的时候他是为-1的 (因为数组的第一个下标为0),因为我把栈看...

2020-03-02 14:58:54 443

原创 (带表头结点)循环链表和单链表的增、删、改、查、

第一个是循环,第二个是单链表(总结在最后)创建void create_list(Link * head){ create_new_node(head); (*head)->next = *head;}void create_list(Link *head){ create_new_node(head); (*head)->next = ...

2020-02-18 17:08:34 626

原创 C语言带有表头结点的增,删,改,查

函数构架代表头的意思:在链表中安置一个表头,确定头结点的位置,这样就不需要通过对头地址的改变来对链表进行操作,只需要对头结点的下一个地址操作,因为头结点是确定的所以每次操作不需要修改链表的头地址。创建结点元素创建带有表头的空链表创建结点对于结点的操作(增、删、改、查)编译链表链表的创建,结点组成元素的创建struct node //结构体{ in...

2020-02-16 15:50:57 870

原创 C语言不带表头结点的单链表操作

什么是链表简单理解为链表的功能与数组功能相似用来存储数据,链表作为一种基本的数据结构在程序开发过程当中经常会使用到。对C语言来说链表的实现主要依靠结构体(可以存储多种数据类型)和指针,所以本文相关内容和程序需要有C语言当中指针和结构体的基础。为什么使用链表1、解决数组无法存储多种数据类型的问题。2、解决数组中,元素个数无法改变的限制。3、数组移动元素的过程中,要对元素进行大范围的移动,很...

2020-02-14 22:04:12 1290 1

原创 函数指针与typedef,函数指针实战

函数指针的实质(还是指针变量)(1)函数指针的实质还是指针,还是指针变量,占4个字节。(2)与普通指针,数组指针,没有啥区别,区别是在于指针指向的是什么。(3)函数的实质是一段代码,这一段代码在内存中是连续分布的(一个函数的大括号括起来的所有语句将来编译出来生成的可执行程序是连续的),多以对于函数来说很关键的就是函数中的第一句代码的地址,这个地址就是所谓的函数地址,在我们C语言中用函数...

2020-02-05 16:43:34 277

原创 C语言中指针数组与数组指针

字面意思理解(1)指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。(2)数组指针的实质是一个指针,这个指针指向的是一个数组。分析指针数组与数组指针的表达式(1)int *p[5]; int (*p)[5]; int *(p[5]);(2)一般规律:int *p;(p是一个指针); int p[5];(p是一个数组)总结 :我们在定义一个符号时,关键在于...

2020-02-05 14:57:25 193

原创 C语言局部变量,全局变量,静态变量,动态变量的区别与联系

变量与常量变量:指的是在程序运行过程中,可以通过代码使他的值改变的量。常量:程序运行过程中不会改变的量。局部变量局部变量:定义在函数中的变量。全局变量全局变量:定义在函数外面的变量。#include<stdio.h>int g_a; //定义在函数外面叫全局变量int main(void){ int a; ...

2020-02-04 21:57:36 5257

原创 C语言的数组 指针 sizeof 运算符的关系

地址只是一个点,没有长度的(默认长度是一个字节)数组中几个关键符号(a a[0] &a &a[0])的理解(1)a 就是数组名。a做左值时表示整个数组的所有空间,又因为C语言规定数组操作时要独立单个操作,不能整体操作数组, 所以a不能做左值; a做右值表示数组首元素(数组的第一个元素,也就是a[0]的...

2020-02-03 21:21:29 570 2

原创 指针的用法

指针到底是什么?指针变量和普通变量的区别:首先指针的实质就是变量,他跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量,简称为指针。指针存放的是其他变量的地址。为什么需要指针?(1)指针的出现是为了实现间接访问。在汇编中都有间接访问,其实就是CPU的寻址方式中的间接寻址。(2)间接访问(CPU的间接寻址)是CPU设计时决定的,这个决定了汇编语言必须能够实现间接寻址又决定了C语...

2020-02-03 18:23:22 539

原创 C语言位操作

常用位操作符位与&(真 有0得0,全1为1) 真值表:1&1=1, 1&0=0, 0&0=0, &&是逻辑与(逻辑里面只要不是0那就标示1)位与的时候2个操作数是按照2进制位彼此对应相与, 逻辑与是两个操作数作为整体来相与的。举例(0xAA&0xF0=0xA0, 0xAA && 0xF...

2020-02-01 22:05:23 463

原创 C语言中数据结构,栈,堆

最简单的数据结构:数组为什么要有数组?因为程序中有许多类型相同 意义相关的变量需要管理,这个时候如果用单独的变量来做程序看起来比较乱,用数组来管理会更好管理。比如:int age[20];数组的优势和缺陷优势:数组比较简单,访问用下标,可以随机访问。缺陷:数组中所有元素类型必须相同;数组大小必须定义时给出,而且一旦确定不能在改。结构体发明出来就是为了解决数组的第一个缺陷。C...

2020-01-31 20:05:07 272

原创 C语言如何操作内存

C语言对内存地址的封装(用变量名来访问内存,数据类型的含义,函数名的含义)比如在C语言正 int a; a = 5; a += 4; // a = 9;结合内存来解释C语言语句的本质: int a = 5; // 编译器帮我们申请了一个int类型的内存格子(长度是4字节,地址是确定的,但是只有编译器知道,我们是不知道的,也不需要知道),并且把符号a和这个格子绑定。 a ...

2020-01-31 14:53:20 420

原创 C语言中什么是结构体,怎么定义结构体。

为什么要用结构体?没有结构体之前,C语言中,数据的组织依靠:变量+数组。最初最简单的时候,只需要使用基本数据类型来定义单个变量,需要几个就定义几个,后来有时候需要很多意义相关的变量这时候数组出现了。数组解决了需要很多类型相同,意义相关的变量问题,但是数组是有限制的,数组的不足在于,一个数组只能存储很多个数据类型相同的变量。所以碰到需要封装几个类型不同变量的时候,数组就无能为力。这时候就...

2020-01-25 19:16:14 3792 1

原创 C语言中函数数据类型修饰符的用法 //部分图片参考其他博主

一、 printf 是输出语句,%md 表示输出的宽为m位。但另有附加规定:当所给宽度不足(即m<要输出数字的实际宽度)时,忽略m,原样输出要输出的值。理解下面的代码加深对printf语句中宽度修饰符m的理解:在这里插入图片描述二、scanf 是输入语句,%md 表示读入的数为m位整数,超出m位只读m位,不足m位则按实际位数读入。对于如下代码:(其中m=3)#in...

2020-01-19 17:13:06 1266

空空如也

空空如也

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

TA关注的人

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