1.一维数组名与二维数组名的关系之于普通指针与数组指针的关系
2.首先数组名编译器会隐式变换看做指针常量,因此a[i]与a+i是等价的。
a+i返回由i指定的行地址,假设元素类型为char,则行指针类型为char ()[n],其中n为列宽,即每行元素数量。当行指针指向一个地址时,此时该行首元素地址与行地址是一致的,但是类型不同,这个是理解二维数组指针的关键。
星号在指针前含义为取指针指向内存中的值,但是由于行指针指向的是一行元素整体而不是单个元素,因此
(a+i)返回i指定行的所有元素,但是一行元素是不可能以值的形式直接获得,所以编译器返回的是一维数组指针char ,所以再此情形下你可以理解为星号是将行指针转换为普通一维数组指针,即 char ()[n]转换为 char *。
&a[i]返回i指定行的第一元素地址,与&a[i][0]等价。
对于&a[i]是此行第一元素的值,是因为&a[i]等于i行0列元素的地址的地址,则等于i行0列元素的地止。(并且&&a[i]也不存在)
由下面一段代码可见:
#include<stdio.h>
int main()
{
int a[2][5];
printf("%p\n",&a[1]);
printf("%p\n",&a[1][0]);
printf("%p\n",a[1]);
return 0;
}

一维数组名与二维数组名的关联相关推荐

  1. C++指针数组、数组指针、数组名及二维数组技巧汇总

    本文较为详细的分析了关于理解C++指针数组,数组指针,数组名,二维数组的一些技巧.是比较重要的概念,相信对于大家的C++程序设计有一定的帮助作用. 一.关于数组名 假设有数组: int a[3] = ...

  2. oracle 一维数转二维数组,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  3. c语言一维数组转化为二维矩阵,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  4. 【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )

    文章目录 一.一维数组形参退化 二.二维数组形参退化 三.数组形参等价关系 一.一维数组形参退化 C 中将 一维数组 作为参数 , 传递到函数中 , 该 一维数组 会退化为 指针 ; 将 int ar ...

  5. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

  6. 2022. 将一维数组转变成二维数组

    2022. 将一维数组转变成二维数组 给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n .你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组 ...

  7. 一维数组转化为二维数组(java)

    由于经常在使用矩阵进行计算时,会首先将一维数组转为二维数组.因此,在这里记录一下,也希望对他人有帮助. package deal; /** author:合肥工业大学 管院学院 钱洋 *1563178 ...

  8. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) {echo '是一维数组'; ...

  9. 01背包和完全背包 的完整讲解版 包含 一维数组实现 和二维数组实现题目

    (二)01背包和完全背包 的完整讲解版 包含 一维数组实现 和二维数组实现题目 //有N件物品和一个容量为V的背包.第i件物品的体积是c[i],价值是w[i].求解将哪些物品装入背包可使价值总和最大. ...

最新文章

  1. python爬虫系列之数据的存储(二):csv库的使用
  2. day21.模块和包
  3. php中var_dump是什么意思,php中的var_dump()方法的詳細說明
  4. 按15分钟取数据_步行15分钟能获得什么?这组数据能告诉你……
  5. nanflash编程的地址问题
  6. Azkaban编译和安装模式
  7. ADO之connection
  8. Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化
  9. Paint X for Mac的用法
  10. Libbpf-tools: Tracing工具
  11. [Ext JS 4] Extjs 之 initComponent 和 constructor的区别
  12. python数据分析与挖掘实战pdf_《Python数据分析与挖掘实战》PDF+完整源码
  13. git 更换密码后,pull代码 fatal: Authentication failed for '
  14. Javascript特效:瀑布流
  15. 灰灰考研c语言讲义,灰灰全书之数据结构试讲
  16. 冯扬文:基于数据仓库的集装箱运价信息集成研究
  17. IE和win10自带edge浏览器无法上网,其他浏览器可以(3个步骤图解)
  18. 写时复制(Copy On Write)
  19. 射雕英雄传人物关系python_《射雕英雄传》人物关系图
  20. 如何把excel日期格式转换成文本日期格式

热门文章

  1. 采用预取(Prefetch)来加速你的网站(转)
  2. php basic syntax
  3. Android使用腾讯浏览服务X5内核
  4. linux【报错】userdel: user xiaoming is currently used by process 4713解决
  5. react-natvie-fetch-blob使用
  6. vue.js初识(一)
  7. 关于ORM中只有XML没有映射实体的思考?期待大家的建议
  8. 八个程序员必备的代码编辑器(附下载链接)
  9. 关于linux命令的书,关于LINUX命令行(一)
  10. ocr python opencv_如何使用(opencv/python)来实现OCR处