`
huobengle
  • 浏览: 861569 次
文章分类
社区版块
存档分类
最新评论

对数组名取地址与数组名

 
阅读更多

可以调试看下会发现两者的值是相同的。

int array[100];

关于对数组名取地址的问题,由于数组名是右值,本来&array 是不合法的,早期不少编译器就是指定&array 是非法的,但后来C89/C99认为数组符合对象的语义,对一个对象取地址是合理的,因此,从维护对象的完整性出发,也允许&array 。只不过,&array 的意义并非对一个数组名取地址,而是对一个数组对象取地址,也正因为如此,array 才跟&array 所代表的地址值一样,同时sizeof(array )应该跟sizeof(&array )一样,因为sizeof(&array )代表取一个数组对象的长度。

但要注意到 array 和 &array 的类型是不同的。array为一个指针,而&array是指向数组int [100]的指针。array 相当于 &array[0],而 &array 是一个指向 int[100] 的指针,类型是 int(*)[100]。类型为:类型 (*)[数组大小],所以&a+1大小为:首地址+sizeof(a)。

分享到:
评论

相关推荐

    使用MATLAB对数组进行裁剪

    文档中包含网易云课堂MATLAB教程中 冒号区间裁剪,冒号等差序列,删除整行整列的操作,简单易学,内容详细。

    易语言利用数组进行数值排序

    易语言利用数组进行数值排序,简单粗暴

    Golang中的Slice与数组及区别详解

    在golang中有数组和Slice两种数据结构,Slice是基于数组的实现,是长度动态不固定的数据结构,本质上是一个对数组字序列的引用,提供了对数组的轻量级访问。那么我们今天就给大家详细介绍下Golang中的Slice与数组, ...

    对数组元素进行固定阈值操作

    对数组元素进行固定阈值操作,该函数的典型应用是对灰度图像进行阈值操作得到二值图像。(cvCmpS 也可以达到此目的) 或者是去掉噪声,例如过滤很小或很大象素值的图像点。本函数支持的对图像取阈值的方法由 threshold_...

    实验4 数组(4学时)

    然后用索引变量j,对数组中的每一个元素进行循环。在每次内部循环中,将matrix[i][j]赋值为(i*j)。 通过循环打印matrix中的所有元素,结果为:           4、利用二维数组实现一个矩阵类:Matrix。要求提供...

    java数组程序关于字符串排序

    对数组排序 public void setFingerMark(String[] fingerMark) { this.fingerMark = fingerMark; } public computer(){} public boolean validate(String passStr){ for(int i=0;i;i++) {if(passStr.equals...

    JS数组去重与取重的示例代码

    本篇文章主要是对JS数组去重与取重的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    2020-web前端-数组的方法以及特征

    1. 来吧,开始学习了 Document /* 数组变成一个字符串: 1.join() : 可以在每一个元素中加一个字符串 ... sort(): 对数组进行排序, splice(): 删除数组的某几个 toString(): 把数组变成字符串 unshift() : 新

    vue+element获取el-table某行的下标,根据下标操作数组对象方式

    思路:通过点击事件将该对象在数组中的下标传递到方法中,然后对数组进行操作 即可根据下标删除数组中对应的对象。 补充知识:vue-element-upload 文件上传打开选择文件弹框前进行提示或操作 在项目中使用文件上传...

    测试电流幅值数组_labview_数据处理_

    对数坐标系内等间隔取数,转换到正常坐标系

    JS实现的数组全排列输出算法

    这段js代码对数组进行全排列输出,改进了一些老的代码 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。 function ...

    lrucacheleetcode-competitive_programming:竞技编程

    个不同数字的数组,这些数字取自 0, 1, 2, ..., n, 找到数组中缺少的那个。 [5] - 合并两个已排序的数组 给定一个包含 n 个不同数字的数组,这些数字取自 0, 1, 2, ..., n, 找到数组中缺少的那个。 [6] - 交替重新...

    Array 和 WriteOnlyArray (C++-CX).pdf

    你可以在 C++/CX 程序中自由使用常规 C 样式数组或 std::array...Platform::Array 类型既不像 std::vector 那样高效也不像它那样功能强大,因此,一般原则是,应避免在对数组元素执行大量操作的内部代码中使用该类型。

    现代C++程序设计

    6.7 利用数据文件对数组赋值 6.8 总结 6.9 练习 复习题 第7章 类和对象 7.1 我们所了解的类和对象 7.2 编写自己的类 7.2.1 入门实例:自定义日期类 7.2.2 第一个C++类:Date类 7.2.3 揭开类的生命之谜 7.2.4 set和...

    C语言实例解析精粹

    017 对数组元素排序 018 任意进制数的转换 019 判断回文数 020 求数组前n元素之和 021 求解钢材切割的最佳订单 022 通过指针比较整数大小 023 指向数组的指针 024 寻找指定元素的指针 025 寻找相同元素的...

    【全新正版】现代C++程序设计(原书第2版)

    6.7 利用数据文件对数组赋值 6.8 总结 6.9 练习 复习题 第7章 类和对象 7.1 我们所了解的类和对象 7.2 编写自己的类 7.2.1 入门实例:自定义日期类 7.2.2 第一个C++类:Date类 7.2.3 揭开类的生命之谜 7.2.4 set和...

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    对数组的元素进行倒序排列 129 使用数组进行成绩处理 131 对象式宏 131 数组元素的最大值和最小值 133 赋值表达式的判断 134 数组的元素个数 135 5-2 多维数组 138 多维数组 138 总结 142 第6章 函数 145 ...

Global site tag (gtag.js) - Google Analytics