美文网首页
数组地址和数组名的故事

数组地址和数组名的故事

作者: 冰吉凌 | 来源:发表于2015-04-19 21:50 被阅读64次

废话少说直接上题:

eg:    int arry[3][5]={0};

问:arry的数据类型是啥?

答:判断数据类型最牛(jian)掰(dan)的方法就是把变量名遮住啦;所以arry的本质数据类型是int [3][5];但是arry也可以代表为类型int (*)[5],是一个二级指针,且第二个维度是5;

问:int (*ptr) [3][5]  = & arry;

答:成立; ptr的数据类型是int [3][5]类型的指针;ptr解引用得到arry

问:int (*p)[5] = arry;

答:成立;arry 的数据类型可以是一个二级指针,其中第二个维度是5,即int [5]类型的指针;

问:int  *pp =*arry;

答:成立;arry是一个二级指针,解引用得到一个一级指针即一维指针;

几维数组名代表的就是几维指针;

数组名本质:(参考:http://tech.163.com/05/0823/11/1RR94CAS00091589.html)

(1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;

(2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;

(3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址!

对(3)的理解:数据名作为函数形参时,其全面沦落为一个普通指针!它的贵族身份被剥夺,成了一个地地道道的只拥有4个字节的平民。

相关文章

  • 解析:数组名a、数组名取地址&a、数组首地址&a[0]、数组指针

    本文转自解析:数组名a、数组名取地址&a、数组首地址&a[0]、数组指针*p[https://blog.csdn....

  • C语言指针二

    指针和数组 数组名称保存的就是数组首元素的地址 既然数组名称保存的就是地址, 而指针也是用于保存地址的, 所以指针...

  • 数组地址和数组名的故事

    废话少说直接上题: eg: int arry[3][5]={0}; 问:arry的数据类型是啥? 答:判断数据类...

  • 数组指针和指针数组

    1.数组名 数组首元素的地址和数组地址是两个不同的概念 数组名代表数组首元素的地址,它是个常量. 变量本质是内存空...

  • 指针与字符串

    因为数组名就是数组的地址, 数组名保存的就是数组的第0个元素的地址,所以我们可以使用指针来保存字符串 通过指针保存...

  • 指针的其他用法

    指针与数组 数组的地址:数组名、&数组首元素 指针是专门用于保存地址 由于数组的首元素的地址就是数组的地址,所以定...

  • 9月16日

    一.今天老师继续深入讲解了数组二维数组 1.数组名不能和其他变量名重名 2.数组名是数组存储首地址 3.取值符&取...

  • 数组和指针

    数组名就是数组的地址, 数组的地址就是首元素的地址由于数组的首元素的地址就是数组的地址, 所以定义一个指针指向数组...

  • day09指针结构体

    // 数组名就是数组的地址, 数组的地址就是首元素的地址// 指针是专门用于保存地址// 数据类型 *变量名称;/...

  • 10/18

    今天老师给我们讲了指针型数组,深刻理解了数组名的含义就是地址名。也是数组名指向元素的首地址。 下午安装了VS201...

网友评论

      本文标题:数组地址和数组名的故事

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