刚刚看《c++ primer plus》,里面讲到如果定义一个数组,int m[10];

则“m”和“&m”的值是一样的,但是,本质不同,数组名“m”就是数组m的第一个元素的地址,它指向数组m的第一个元素,但是“&m”指向的是整个数组,

这样说,如果给m+1,则m的值增加4(假设int占4个字节),等于数组的第二个元素的地址,但是“&m+1”增加的就是10*4个字节,移动到了数组最后一个元素的下一个字节,

也就是说,“&m”是一种“数组指针”,“&m”就是一个指向数组的指针,它指向的是整个数组。

再来介绍他俩的另一个区别,访问第一个元素时,对于数组名m很直接,用“*m”就可以访问到数组第一个元素,

但是对于“&m”,需要这样用:“**&m”,

乍一看可能就晕了,我刚刚想了半天,是不是这个样子,

“&m”是数组指针,那么“*&m”就是这个数组了,相当于这个数组本身,也就是这里的“*&m”和数组名是一个级别,那么要访问第一个元素,

肯定要用“**&m”来访问了!

我暂时就是这么理解的了,有什么不同的意见,就给我留言吧!讨论讨论,

我建了个群348538085

欢迎入群~!

转载于:https://www.cnblogs.com/geekgao/p/4476973.html

关于“数组指针”的一点想法相关推荐

  1. 指针数组,数组指针,指针函数,函数指针,二级指针详解

    先看个简单的:char *p,这定义了一个指针,指针指向的数据类型是字符型,char  *(p)定义了一个指针P: char *p[4], 为指针数组,由于[]的优先级高于*,所以p先和[]结合,p[ ...

  2. const static 数组指针

    const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令 **************常量必须被初始化************************* cons的作用     ...

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

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

  4. (转)数组指针和指针数组的区别

    数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长.也就是说执行p+1时,p要跨过n个整型数 ...

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

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

  6. 玩转C语言之数组-数组指针

    数组指针   在揭开数组指针神奇的面纱之前,我们先来探讨一下数组是否有自己特定的类型呢? 1. 数组类型   我们知道数组是相同类型变量的有序集合.例如 int a[5] = {0};,其含义就是 5 ...

  7. c++ string 拼接_C++日志(二十五)字符数组、字符数组指针和string类

    C++中字符串的表示方式有很多种,根据自己目前掌握的有三种: 字符数组: 字符数组指针: 标准库string类: 上面几种方式各有优点和缺点,按照自己的观点,如果处理的字符串的任务比较简单,则使用前两 ...

  8. C++笔记——指针数组/数组指针

    1.定义 指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针.定义 int *p[n]; 数组指针:a pointer to an array,即指向数组的指针 ...

  9. 一维数组和二维数组的区别_数组指针和指针数组的区别

    数组指针和指针数组的区别 - hongcha_717 - 博客园​www.cnblogs.com 数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整 ...

最新文章

  1. C++ 的复制构造函数
  2. java ResultSet常用操作
  3. java连接mysql 不推荐_java连接mysql
  4. 介绍一个轻量级iOS安全框架:SSKeyChain
  5. Pictures Test
  6. 谷歌将反欺诈系统绕过纳入漏洞奖励计划
  7. Shell 中 exit 和 return 的区别
  8. 苹果收购倒闭智能家居安防初创公司 Lighthouse AI 专利...
  9. X64上的IIS調用32位的DLL方法
  10. java 快速回收_快速了解JAVA垃圾回收机制
  11. 心理声学模型在感知音频编码中的应用
  12. 躺平国历险记:两个超平面之间距离的计算
  13. 八爪鱼采集ajax表格,如何快速统计简书数据——八爪鱼采集器(二)
  14. hdu5773 LIS+贪心
  15. android4.1.1+nexus S安装BT5
  16. C-V2X 与智能车路协同技术 的深度融合
  17. Bandizip官网最新下载 中文,绿色版 Bandizip下载
  18. Unity XR开发之入门介绍(一)
  19. C++复数的具体实现
  20. 漫画:三分钟学习一道位运算的面试题,万一遇到了呢?

热门文章

  1. 从大数据到深度学习,这些年度开源“新秀”你可用过?
  2. 卷积神经网络-进化史 | 从LeNet到AlexNet
  3. python爬取appstore的评论数据的步骤_python数据抓取分析
  4. cpout引脚是干什么的_FPGA中差分信号的定义和使用(一)
  5. 自用的获取时间 传值是获取剩余时间 不传是获取当前时间
  6. 微信小程序中处理 获取用户地址的回调
  7. Python实现感知器的逻辑电路(与门、与非门、或门、异或门)
  8. MySQL☞insert value与values
  9. 【面经】中软-数据实习生
  10. HDU-4618 Palindrome Sub-Array 暴力枚举