所谓数组,通俗来讲就是在内存的栈区上开辟一块连续的数据类型相同的存储空间,栈区内存的使用习惯:先使用高地址处的空间,再使用低地址处的空间。数组在内存的栈区上开辟了一块连续的存储空间,数组每个元素的地址根据数组的下标的增长,由低地址向高地址变化。

下标操作符 ,数组访问可以通过数组名+  "[ ]"数组下标操作符+ 下标元素来访问。        怎么理解呢,数组名一般情况下代表数组首元素的地址(除了sizeof() 和&数组名 这两个代表取整个数组的地址),数组名我们看作起点,[ ] 整个操作符 我们看作外卖员,下标元素就是收货人的地址,知道了需要访问的地址,再通过联系收货人,是不是就可以访问到了空间里的数据了。数组名代表首元素的地址,就是内存上的一块地址,有自己的编号[0],然后数组又是顺序开辟的空间,这是整体的一个逻辑。

那数组名是什么类型的数据呢,这个问题不知道大家有没有思考过,他是一块地址,指针的实质也是地址,那是不是就可以理解为数组名的类型是数组元素类型的指针,例如 int* arr[10] ;  那么 arr 数组名的类型就是 int* ,数组的每一个元素为 int 类型,既然数组名是地址,那么我们是否可以定义一个指针指向(存储)数组名的地址,然后通过这个指针来访问数组的每一个元素呢?

注意:这里的首地址的下标为什么为[0],呢?为什么不从[1]开始?

因为数组是一块相同数据连续的内存空间,找这个数组从首地址开始,然后距离你需要找的那个元素的距离就是下标的值。

指针数组下标(C语言)相关推荐

  1. 指针数组下标JAVA_Java语言中可用下标和指针两种方式表示数组元素。

    [判断题]一行可以写多条预处理命令 [判断题]如果一个java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名一致. [判断题]Protected类型的实例变量只能在本类中使用,其他类中不可 ...

  2. 指针数组下标JAVA_C语言中下标与指针的转换以及指向指针的指针的例子

    下标到指针之间和转换以下的程序做了什么. #include int main() { int a[3][3] = {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}}; int i = ...

  3. c语言指针数组课件,C语言指针与数组教程课件.ppt

    C语言指针与数组教程;教学要求;本章主要内容;引子;#include void swap ( int x, int y ) { printf("调用时:x地址为:%p, 值为:%d\n&qu ...

  4. java数组下标0_Java语言中数组元素下标从0开始。

    [单选题]规范规定,硅酸盐水泥的初凝时间不小于( ). [判断题]打开/关闭"对象追踪"的功能键是F11. [判断题]break语句的作用是结束当前的循环体. [单选题]项目标识代 ...

  5. c语言指针数组 难点总结,C语言指针与数组的难点分析.pdf

    C语言指针与数组的难点分析,c语言指针数组,c语言二维数组指针,c语言指针数组初始化,c语言函数指针数组,c语言数组与指针,c语言结构体数组指针,c语言指向数组的指针,c语言字符串数组指针,c语言数组 ...

  6. C语言使用指针数组存取数组(指针数组与数组)

    指针数组存取数组的代码实现 一.定义字符数组和字符指针数组 二.打印指针数据的基地址和指针的指向 三.指针数组的下标指向字符数组,并格式化字符数组的内容 四.打印字符数组的基地址和指针数组的指针指向 ...

  7. 【C 语言】字符串操作 ( 使用 数组下标 操作字符串 | 使用 char * 指针 操作字符串 )

    文章目录 一.使用 数组下标 或 指针 操作字符串 1.使用 数组下标 操作字符串 2.使用 char * 指针 操作字符串 二.代码示例 一.使用 数组下标 或 指针 操作字符串 1.使用 数组下标 ...

  8. 关于C语言中的数组指针、指针数组以及二级指针

    概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...

  9. 【C 语言】二级指针作为输入 ( 指针数组 | 复杂指针解读 )

    文章目录 一.指针数组 二.复杂指针解读 三.数组指针代码示例 一.指针数组 定义一个数组指针 : 数组中的 元素 是 指向 字符串的指针 , 即 每个数组元素 只有 4 字节 ; char *arr ...

最新文章

  1. Struts和Sitemesh整合,实现多个装饰器
  2. 数据库元数据数据字典查询_7_列出给定表的检查约束
  3. jsr 107_如何使用JSR107缓存注释
  4. STM32利用光敏二极管实现光度测量
  5. 荣耀:目前还在观望鸿蒙,未来的对手是苹果
  6. SharePoint Excel Service-PowerShell
  7. Vue + Echarts 实现中国地图的绘制
  8. bmd硬盘测试_硬盘测速工具:Blackmagic Disk Speed Test Mac
  9. python周环比增长率_Python如何计算环比增长率
  10. 计算机word平均值函数公式,Excel函数公式:在Word中用公式求和、平均值你会吗?...
  11. 【概率论与数理统计】1.4 条件概率
  12. ubuntu新硬盘创建分区步骤
  13. android 高德地图 lbstraceclient,安卓高德地图定位篇-(1)
  14. 惠普打印机介质不匹配_惠普打印机的常见故障
  15. 使用pyTorch搭建自己的facenet
  16. King of Glory刷金币脚本
  17. 生活中最毁身体的坏姿势(转载)
  18. Oracle时间与Unix时间戳的转换
  19. 2021世界燕窝滋补品上海展带您揭晓一碗燕窝的营养与价格!
  20. 2020-2-15一个web登录注册小程序与Spring初始+作业

热门文章

  1. ElasticFusion
  2. 创建Vue项目以及使用
  3. 超满意的购车之旅——零跑T03
  4. 剪映导出帧率选多少_自媒体视频剪辑:巧影导出视频时如何设置参数?分辨率、帧率、码率该如何选择...
  5. android 更改桌面图标
  6. 计算机教师缺口大吗,毕业想成为教师?这5个学科更容易“上岸”,缺口大应聘成功率高...
  7. 数据库复习基本概念——关系、元组、属性、码、域、分量、形式化定义
  8. NW.js的helloworld
  9. Team Leader 的职责与范围
  10. 德州仪器 (TI) 全球领先的数字信号处理与模拟技术半导体供应商