小问题?
1.我们是如何根据地址值来找到我们对应的数据的?
详细陈述一下:当我们开辟一个整数类型,取名为a,假设地址空间是从数值为2000进行存储,并且我们假设整形占用4个字节,那么我们在内存中需要的空间就是2000~2003,共4个字节,同时我们定义一个整形的指针为p,p存储的地址就是a的地址,我们写作是int p;p=&a;就相当于是p==2000,这如何来确定地址空间当中所存的具体数值呢?我们用int 2000来进行确定的,我们开始假设的是整形占用4个字节,并且起始地址是从2000开始的,那么我们的计算机从2000开始连续读取4个字节就会得到我们想要的数据,由此可见,我们的真实数据是有数据类型以及开始的首地址来进行存储的
2.我们都知道数组名代表了元素的首地址,那么我们来进行数组的使用规则进行理解一下,int[]a={};int
p=a;p==2000;(p+1)==a[1]
我们来仔细的谈一谈此时的加1操作,这里就与数据的基类型是有关的,加1就是加一个基类型的字节数,同样我们返回的值为某个元素的第一个首地址,不会返回整个字节数地址

在使用malloc和realloc以及free的时候一定是要有前面的有文件的,也就是<stdlib.h>
也要知道宏定义,Init_size代表的是初始的大小,也就是一开始我们需要开辟的空间大小,这里有一个要求,初始的空间不能太大,也不能太小,太大了会比较浪费,太小了就需要后期的扩充函数,而一旦使用到后期的扩充函数就会涉及到两个问题,第一就是申请成功,第二就是申请不成功,然后再转向其他的仓库进行,会比较浪费时间,最好就是不用后期的扩充函数,一次到位,如果我们能够找到一种方法,能确定最初所要申请空间的大小,那么我们就不用后期的扩充函数,从而避免了时间的浪费,但是这个问题是否就能够由我们来解决呢?有待考察,而Increace_size代表的是申请空间的时候每次申请的内存空间我们进行的大小的定义,是由我们自己进行定义的,与系统是没有关系的,是由relloc进行决定的,
小插曲:
1.Elem就是所有数据类型的一个抽象概括
2.数组当中的数值,开始申请了一个空间大小,使用的函数可以是动态函数malloc函数,
3.inta就是代表着指针类型的变量起名为a,没有实际的内存空间,我们必须用函数malIoc来进行空间的开辟,
4.有了指针类型的地址,我们就要联想到他是否有真正的内存空间,如果没有,那么我们就要进行malooc函数来进行空间的开辟

当我们申请空间的时候,只是申请了一个内存地址,也就是elem*的值被赋予定义,就相当于我们有了一个仓库,找到了我们接下来做事情的一个地方,但是此时仓库是空的,也就是数据为0个,没有元素,而此时的sIze就是指仓库的大小,Len为存了多少个元素初始值为0,也就是没有参与元素,而下面的size是仓库的大小,我们看一下判断条件,如果地址空间为空,图上显示的是为null时,就是开辟空间失败,是硬件的问题,

返回地址【数据结构】相关推荐

  1. 数据结构与算法的八股文自述(持续更新)

    数据结构与算法的八股文自述 1.1 排序算法 冒泡排序: 冒泡排序只会操作相邻的两个数据.每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求.如果不满足就让它俩互换.一次冒泡会让至少一个 ...

  2. 《大话数据结构》读书笔记-栈与队列

    写在前面:本文仅供个人学习使用.<大话数据结构>通俗易懂,适合整体做笔记输出,构建体系.并且文中很多图片来源于该书. 文章目录 4.2栈的定义 4.2.1 栈的定义 4.2.2 进栈出栈变 ...

  3. 心中有“树”:数据结构之树详解

    文章目录 前言 (一)树的基础定义与表示 1 树的定义 2 树的图示 3 树的逻辑结构表示法 (二)二叉树 1 二叉树定义 2 二叉树示意图 3 程序实现 (1)节点定义 (2)二叉树的先序遍历 (3 ...

  4. 数据结构 递归讲解

    1. 递归的定义 定义好简单了, 如果1个函数直接或间接地调用自己本身, 我们就说它是1个递归. 2. 不同函数是怎样互相调用的. 严蔚敏编写的的数据结构教材中写过这段话: 当1个函数(A)的运行期间 ...

  5. C语言去括号编程题,数据结构课件.ppt

    <数据结构课件.ppt>由会员分享,可在线阅读,更多相关<数据结构课件.ppt(750页珍藏版)>请在人人文库网上搜索. 1.数 据 结 构,2 数据结构题集 ( C语言版) ...

  6. c语言枚举变量自增报错,C_数据结构与算法(1):C语言基础

    C_数据结构与算法(一):C语言基础 致初学者的我:一切都是由浅入深. 每种语言都有每种语言的特性,基本的特性是相同的,下面依照惯例写hello world,相关编译后面再介绍. // C语言用&qu ...

  7. 数据结构与算法 -- 再论递归

    之前在总结函数的时候,有介绍过递归.参看:C语言再学习 -- 函数 正在看数据结构与算法分析,开篇就讲到递归,那现在就详细讲解下它吧. 参看:递归函数理解 一.什么是递归函数 (1)递归函数即自调用函 ...

  8. 数据结构与算法 / 栈(stack)

    @time 2019-07-24 @author Ruo_Xiao @reference 极客时间 -> 数据结构与算法之美 ---------------------------------- ...

  9. C专家编程-Chapter6 运行时数据结构(转)

    a.out是链接器的输出. a.out is a file format used in older versions of Unix-like computer operating systems ...

最新文章

  1. vant 1.6.6 发布,轻量级移动端 Vue 组件库
  2. DIV CSS完美兼容IE6/IE7/FF的通用方法
  3. 10、Power Map—自定义地图背景
  4. CMake基础 第7节 编译标志
  5. 左神算法:最大值减去最小值小于或等于num的子数组的数量(Java版)
  6. 2017.10.13java上机出现中的问题
  7. SuperSocket源码解析之开篇
  8. 自定义手势--输入法手势技术
  9. linux hbase 表大小,在Linux系统搭建hbase环境
  10. 2016计算机视觉应用专题研究报告
  11. neo4j 查询同一节点的两个上级_链表的魅力:两个单向链表的第一个交点
  12. java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端...
  13. YII 1.0 隐藏单入口index.php 设置路由与伪静态
  14. STM32移植U8g2图形库——玩转OLED显示
  15. uni-app真机运行app时报错:TypeError: Cannot read property ‘call’ of undefined
  16. 这次玩大的!全国软件测试培训机构名单~
  17. solidworks正版多少钱_SOLIDWORKS 2020、2021正版软件价格是多少钱?SW官方报价_专业版和白金版...
  18. 最短哈密顿路matlab,SHP-VI: 一种基于最短哈密顿通路的POMDP值迭代算法
  19. YII框架yiic、gii工具使用方法
  20. Unity Asset Store越来越多

热门文章

  1. php左侧菜单栏递归代码,js实现左侧菜单栏递归循环遍历
  2. decorators 参数_Python Decorators(二):Decorator参数
  3. WINCE Driver 心得总结
  4. 深入理解.bin文件和.nb0文件的结构
  5. 计算机分数的简便运算,分数的简便运算和分数的解方程
  6. leetcode mysql 排名_(LeetCode:数据库)分数排名
  7. 【转】DICOM中几个判断图像方向的tag
  8. 【转】c#中@的3种作用
  9. ABP入门系列(10)——扩展AbpSession
  10. ABP入门系列(8)——Json格式化