指向一维数组的指针   char (*p)[10] ;
指向一维数组的指针类型 typedef  char(*TYPE_P2ARRAY)[10]  ;   
该指针可以指向数组 ,且使用起来效果节本相同,但指针与数组并不等价。{sizeof结果不同  , 且该指针还可以指向除此之外其他类型的数据。 }

#include <stdio.h>typedef int (*TP_PARRY1)[3] ;#define Uart_Printf printf
void f1(void)
{int a[2][3] = { {0,1,2},{10,11,12}};
// a :  二维数组名 , equal : 指向一维数组{0,1,2}的指针TP_PARRY1 p = a;int (*q)[3] = a; //int (*t)[2] = a;//warning: initialization from incompatible pointer type//int** x = a; // CRITICAL ERROR, may lead to Segmentation fault. NO space for PTRs.//指针结合律:1 (*q)括号最高优先级,表示q是一个指针。
//                     2  向右 [] , 表示指向一个数组
//                     3 右边没有了,向左,表示该数组的元素是int型。Uart_Printf("a00:%d\n",a[0][0]);Uart_Printf("a01:%d\n",a[0][1]);Uart_Printf("a02:%d\n",a[0][2]);Uart_Printf("a10:%d\n",a[1][0]);Uart_Printf("a11:%d\n",a[1][1]);Uart_Printf("a12:%d\n",a[1][2]);Uart_Printf("p00:%d\n",a[0][0]);Uart_Printf("p01:%d\n",a[0][1]);Uart_Printf("p02:%d\n",a[0][2]);Uart_Printf("p10:%d\n",a[1][0]);Uart_Printf("p11:%d\n",a[1][1]);Uart_Printf("p12:%d\n",a[1][2]);Uart_Printf("q00:%d\n",a[0][0]);Uart_Printf("q01:%d\n",a[0][1]);Uart_Printf("q02:%d\n",a[0][2]);Uart_Printf("q10:%d\n",a[1][0]);Uart_Printf("q11:%d\n",a[1][1]);Uart_Printf("q12:%d\n",a[1][2]);#if 0 //Segmentation faultUart_Printf("x00:%d\n",x[0][0]);Uart_Printf("x01:%d\n",x[0][1]);Uart_Printf("x02:%d\n",x[0][2]);Uart_Printf("x10:%d\n",x[1][0]);Uart_Printf("x11:%d\n",x[1][1]);Uart_Printf("x12:%d\n",x[1][2]);#endif}int main()
{f1();
}
/*
root@oucaijun:/work/dcc# gcc *.c; ./a.out
a00:0
a01:1
a02:2
a10:10
a11:11
a12:12
p00:0
p01:1
p02:2
p10:10
p11:11
p12:12
q00:0
q01:1
q02:2
q10:10
q11:11
q12:12
*/

  

二维数组(数组名与地址的关系)

先定义一个二维数组array以及指向它的指针p_array:

char array[3][1000] ;

typedef char CHAR_ARRY2[3][1000] ;  
typedef CHAR_ARRY2* PCHAR_ARRY2 ;
PCHAR_ARRY2 p_array= &array;
 
十进制绝对地址
指向元素 指向一维数组
指向一维数组
指向一维数组
指向二维数组
十六进制地址
872369208 array[0]
&array[0]
array
p_array[0]
p_array
33FF4C38
872369209
array[0]+1
33FF4C39
.
.
.
.
872370208
&array[0]+1
array+1
p_array[0]+1
33FF5020
.
.
.
872372208
p_array+1
33FF57F0

array ==&array[0]

 

转载于:https://www.cnblogs.com/mylinux/p/4666816.html

c语言,指针与数组--指针与二维数组2相关推荐

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

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

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

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

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

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

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

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

  5. 【IT】C语言函数中怎么返回一个二维数组

    C语言函数中怎么返回一个二维数组

  6. c语言实验7字符串,C语言实验六(第七章二维数组字符串数组)

    C语言实验六(第七章二维数组字符串数组) 第 1 页 共 7 页第七章二维数组.字符串数组题[书面作业] 以书面作业形式上交,2010 年 11 月 1 日课堂交三道题的源程序1. 编写一个主函数:用 ...

  7. C语言编写杨辉三角(二维数组方法)

    C语言实现杨辉三角(二维数组) 杨辉三角是什么 杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的<详解九章算法>一书中出现.在欧洲,帕斯卡(1623--- ...

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

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

  9. 一维数组名与二维数组名的关联

    1.一维数组名与二维数组名的关系之于普通指针与数组指针的关系 2.首先数组名编译器会隐式变换看做指针常量,因此a[i]与a+i是等价的. a+i返回由i指定的行地址,假设元素类型为char,则行指针类 ...

  10. Python 三维数组转化为二维数组 和MATLAB的reshape函数结果一致

    最近在把Matlab的toolbox转到Python语言,涉及到了很多矩阵运算,经常会用到Matlab中的reshape函数,但是Python和它reshape的结果总不一致,导致我最后Python画 ...

最新文章

  1. 简单又实用的分享!SharePoint母版页引用(实战)
  2. ICCV2021|一种用于解决点云场景中同类对象分割的网络
  3. 谷歌最新论文:手机端的实时3-D目标检测
  4. linux虚拟终端快捷键
  5. Maven 的 settings.xml 配置中的mirror节点
  6. Win32下内存分配简单示例 - 使用CFree
  7. Discuz常见小问题-如何取消登陆发帖验证码
  8. 玩转SpringBoot 2 之项目启动篇
  9. 斗鱼tv 服务器响应失败,斗鱼tv打不开怎么办 斗鱼直播打不开得解决办法
  10. cad2022新功能介绍(autocad2022简体中文版)
  11. 数据库的基本概念(数据库的发展、主流数据库介绍)
  12. c104win键被锁 ikbc,win10键盘锁住了怎么解开_win10系统键盘被锁定的解决教程
  13. 1996-2016人工智能各大顶级会议最佳论文best paper
  14. 连接服务器,上传代码,Flashfxp5
  15. 好用在线html编辑器,求一款好用的html在线编辑器
  16. java自然语言理解demo,源码分享(基于欧拉蜜)
  17. 新浪出输入法了,深蓝词库转换更新到1.3.1——增加对新浪拼音输入法的支持
  18. 一次性查寻出全国所有省份,城市,县区(解决多层for循环嵌套查询的问题)
  19. c语言 ptr 用法,C++之智能指针std::shared_ptr简单使用和理解
  20. 关于rac环境中的alter ext进程名, begin now

热门文章

  1. android 今日头条布局,Android今日头条UI适配完善版
  2. 2021牛客寒假算法基础集训营5,签到题BF
  3. 【PAT乙】1069 微博转发抽奖 (20分) set
  4. mysql的分页如何操作_Mysql有关分页的操作
  5. php smarty if,php Smarty中if,elseif,else用法详解
  6. JavaScript的作用域(1)
  7. Python入门--字典元素的遍历for-in
  8. Restore IP Address-深度优先遍历DFS
  9. bzoj 1659: [Usaco2006 Mar]Lights Out 关灯(IDA*)
  10. pytorch之创建数据集