运算符[ ]的优先级高于*

一、指针数组

所以:

int *p_a[5];

定义了一个指针数组,其中有5个数组元素,每个数组元素都是一个int类型的指针。

二、数组指针

int (*p_a)[5]表示数组指针

此时p_a中的地址为该数组第一个元素的地址。

根据《二重指针、二维数组及二者如何进行赋值_jiongta9473的博客-CSDN博客》这篇文章中3.2的特别说明,可以知道:

int (*p_a)[2][3]与int (*p_a)[2]是不同的指针,不能随便赋值。例子如下:

int a[2][3] = {1, 2, 3, 4, 5, 6};
int m[3] = {1, 2, 3};
int (*f)[2][3];//错误:
f = &m;//正确:
f = &a;

另外,注意下面的情况,也是错误的:

int a[2][3] = {1, 2, 3, 4, 5, 6};
int m[3] = {1, 2, 3};
int (*f)[3][3];   //将此处的2改为3//错误:
f = &a;

此时的f的类型为[3][3]和a的类型不同([2][3]),就像int 和float的类型不同一样。

C++中指针运算符(*)和数组索引符([])的优先级。指针数组及数组指针相关推荐

  1. CWE-129: Improper Validation of Array Index(数组索引验证不当)

     ID: 129 类型:基础 结构:简单 状态:草稿 描述 产品在计算或使用数组索引时使用不受信任的输入,但产品不会验证或错误地验证索引,以确保索引引用数组中的有效位置. 关联视图 与"研究 ...

  2. 给数组倒序_22个超详细的 JS 数组方法

    作者:Yushiahttps://juejin.cn/post/6907109642917117965 数组是 js 中最常用到的数据集合,其内置的方法有很多,熟练掌握这些方法,可以有效的提高我们的工 ...

  3. java数组最大值索引_java中的权限修饰符有哪些?怎么获取数组最大值?

    java作为一门编程语言,由于它的优秀,现在已经成为很多人的首选编程语言.java中关于修饰符和数组的知识点也是十分多的,今天就来为大家介绍一下,java中的权限修饰符有哪些?怎么获取数组最大值?一起 ...

  4. C语言 使用数组索引与指针索引 在循环中对编译器优化的影响及耗时分析

    C语言在访问数组时既可以使用如a[i]这样的下标方式,也可以使用*(a+i)这样的指针方式,理论上完全等价.但是在编译器对循环作优化时,对于指针方式的索引很有可能分析不彻底,因此相比数组索引耗时有所增 ...

  5. c 语言中下标运算符,详解C++中二进制求补运算符与下标运算符的用法

    二进制求补运算符:~ 语法 ~ cast-expression 备注 二进制反码运算符 (~)(有时称为"按位反码"运算符)将生成其操作数的按位二进制反码.即,操作数中为 1 的每 ...

  6. A02_Python(基本数据类型,容器,函数,类),Numpy(数组array,数组索引,数据类型,数组中的数学,广播)

    Python的版本 基本数据类型 与大多数语言一样,Python有许多基本类型,包括整数,浮点数,布尔值和字符串.这些数据类型的行为方式与其他编程语言相似. Numbers(数字类型):代表的是整数和 ...

  7. A01_[NumPy中文网]数组基础(创建数组,多维数组切片,数组属性)、使用数组(基本操作符,数组特殊运算符)、索引(花式索引,布尔索引,缺省索引)

    NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在 ...

  8. C#中的运算符、数组、枚举、结构体

    运算符     算数运算符: + - * / %(取余 取模)变量需要先声明 再赋值 才能使用.     一元运算符:++ 自加一 有前加和后加; -- 自减一 有前减和后减;对于像++ -- 这样的 ...

  9. 如何获取NumPy数组中N个最大值的索引?

    本文翻译自:How do I get indices of N maximum values in a NumPy array? NumPy proposes a way to get the ind ...

  10. 【Java】从键盘中输入一个值,在数组中查找该值的索引并输出

    问题: 从键盘中输入一个值,在数组中查找该值的索引并输出 代码: package learnjava;import java.util.Scanner;public class demo13 {pub ...

最新文章

  1. Windows10 RS2正式版终于来了!升级有惊喜
  2. XXX集团财务决策支持系统——财务分析指标(系列五)
  3. fib函数用python编写_Python中利用函数装饰器实现备忘功能
  4. 来自顶级名校推荐的英文书单,留着慢慢啃!
  5. 深入PHP面向对象、模式与实践读书笔记:面向对象设计和过程式编程
  6. 云小课|RDS实例连接又失败?看我祭出杀手锏!
  7. 使用RMAN创建复制数据库
  8. 怎样让你的Linux使用起来更像Windows
  9. 幼儿园观察记录的目的和目标_幼儿园观察记录应该怎么写?
  10. 【Pycharm】主题背景颜色更改
  11. 从心理学和传统文化角度来初步理解个体与环境
  12. 漫反射与Lambert模型
  13. 计算体脂率,并给出评价
  14. 运算重载符号(C++)
  15. ServU漏洞利用靶场-单兵作战
  16. Linux—文件系统与磁盘管理(后)
  17. 百度飞桨—PM2.5预测
  18. 高中计算机学考试卷,北京市西城区 2018 年普通高中学业水平考试 信息技术试卷及答案 (PDF版)...
  19. 航空航天与国防数字化验证解决方案 | 达索系统百世慧®
  20. 用什么软件测试家里网络,几个简单小技巧,告诉大家如何知道家里的网速是多少!...

热门文章

  1. DEL: Restore Boxes after VirtualBox Upgrade
  2. 编程之美 4.4点是否在三角形内
  3. [ 淘宝商城 ] 商城SEO
  4. jQuery 的第一个例子
  5. 动力学是如何做预测的
  6. 写程序/算法的一点思考
  7. Atitit 项目分析与统计目录1. 静态分析+动态分析 。其中, 12. 模块分析,与模块位置idx 13. 编程语言类型与版本 13.1. 类库统记表 类型与版本 23.2. 中间
  8. Atitit. 资深高级软件工程师and 普通的区别 高度金字塔 深度 广度 1. 高度金字塔 深度 广度 1 1.1. 角色差异高度金字塔 使用者 维修者 制造者 1 1.2. 广度圈 1 1
  9. Atitit httpclient 概述  rest接口
  10. Atitit 提升开发效率法 fx t35 Atitit 提升开发效率法---开发方法架构简化法.docx 目录 1. 主要几个层次上简化开发 1 1.1. ,开发体系方法使用简单方法 1 1.2.