美文网首页iOS Developer程序员开发者的数据结构
数组维界基址和数组映像函数常量基址

数组维界基址和数组映像函数常量基址

作者: KenZhangCn | 来源:发表于2017-06-15 11:16 被阅读292次

在数据结构 C语言版中, 对数组有这样的定义:
typedef struct { ElemType *base; //数组元素基址 int dim; //数组维数 int *bounds; //数组维界基址 int *constants; //数组映像函数常量基址 }Array;

这些属性分别代表什么呢?

  • dim - 首先C语言的数组是基于行序为主序的数据结构, 比如一个矩阵可以看做是一个二维数组, 一列就是一个数据元素, 显性的看就是 dim 维数组中的每一个数据元素也是一个 dim-1 维数组.
  • base - 数组使用一组连续的地址空间储存数据, base 就是这组空间的基址.
  • bounds - 指向一个存放每一维长度的数组的一个起始地址. 数组中有一个存放数组维界的数组, 里面存放着每一维的长度, bounds 就是这个数组的基址.
  • constants - 指向一个存放每一维起始地址的数组的起始地址. 为了更方便的计算每一维数据元素的地址, 数组中每一维前面都有一个固定值,(可以类似理解成10进制中十位进一位代表10, 百位进一位代表100. 十位和百位就代表不同的维度, 10和100就是存储在纬度前面的那个固定值.) 把这些固定值储存到一个映像函数数组中, constants 就是这个数组的基址.

相关文章

  • 数组维界基址和数组映像函数常量基址

    在数据结构 C语言版中, 对数组有这样的定义:typedef struct { ElemType *base; /...

  • 1. 顺序存储 --- 数组

    顺序存储一般的结构如数组,标准的初始化时需要的是"基址,当前表长,最大表长" 数组的首地址(基址)就是数组名 数组...

  • 混淆知识点

    1、指针数组&数组指针、常量指针&指针常量、函数指针&指针函数 数组指针&指针数组 数组指针的定义 int (*p...

  • C:函数指针的坑

    关于该死的函数指针和指针函数 先来个目录 常量指针、指针常量 数组指针、指针数组 函数指针、指针函数 1、先看第一...

  • 第七章-数组

    一、一维数组和二维数组。 1、一维数组定义方式:类型说明符 数组名[ 常量表达式 ]; (1)在定义数组时,要定义...

  • 26.DNF超级技能名字和偏移及易语言实现

    物品栏:人物基址+物品栏偏移+58+c 代表1格地址技能栏:人物基址+技能栏偏移+88+0 代表A键地址 人物基址...

  • Day08

    二维数组 二维数组格式 二维数组初始化 二维数组的遍历 二维数组内存存储细节 二维数组与函数注意点: 主要是看函数...

  • 微信2.6.6.28 汇编call和地址分析

    微信函数地址和Call分析 ce Dll基址 52AE0000 WeChatWin.dll + 1131DC8 ...

  • 第六天 c语言

    二维数组的学习 二维数组定义的一般形式是:类型说明符 数组名[常量表达式1][常量表达式2]。 二维数组是按行排列...

  • Swift 语言简单介绍(一)

    篇文章主要介绍: 常量 变量, 数组 字典, 元祖, 循环结构 分支结构, 函数 定义常量 定义变量 数组 字典 ...

网友评论

    本文标题:数组维界基址和数组映像函数常量基址

    本文链接:https://www.haomeiwen.com/subject/mneyqxtx.html