首页 > 其他分享 >多维数组中指向的值

多维数组中指向的值

时间:2023-06-13 10:31:31浏览次数:33  
标签:12 指向 int 元素 数组 多维 ptr


#include <iostream>
using namespace std; 
			
int main() {
    int a[2][2][3]={{{1,2,3},{4,5,6}},{{7,8,9},{10,11,12}}};
    int *ptr=(int *)(&a+1);
    printf("%d %d",*(int*)(a+1),*(ptr-1));
    return 0;
}

输出结果为7 12

*(int *)(a+1):指向数组a[2]中第二个元素的第一个,也就是内部第二层大括号的第一个元素。

*(ptr-1):整个数组的最后一个元素,因为(int*)(&a+1)指向整个数组的下一个位置。

——————————————————————————————————————————


a指向三维数组,&a+1指向数组的下一个位置。*(ptr-1)指向数组的最后一个元素,数组的最后一个元素是12。

a+1指向a[1][0][0]的位置,即7。


————————————————————————————————————————————————

&a+i= a+i*sizeof(a);

a+i=a+i*sizeof(a[0]);


标签:12,指向,int,元素,数组,多维,ptr
From: https://blog.51cto.com/u_14939782/6467643

相关文章

  • 力扣---2475. 数组中不等三元组的数目
    给你一个下标从0开始的正整数数组nums。请你找出并统计满足下述条件的三元组(i,j,k)的数目:0<=i<j<k<nums.lengthnums[i]、nums[j]和nums[k]两两不同。换句话说:nums[i]!=nums[j]、nums[i]!=nums[k]且nums[j]!=nums[k]。返回满足上述条件三元组的数目......
  • 【易错点】数组名和数组取地址的区别
     inta[3]={1,2,3}; a: 数组名,数组中第一个元素的地址,相当于&a[0] &a:整个数组的地址,在数值上等于a a+1:数组中第二个元素的地址,相当于&a[1] &a+1:整个数组结束以后后面一个位置的地址 即:a=&a, 但 a+1≠&a+1 a[0]a[1]a[2]     ......
  • 代码随想录算法训练营第五天| 242.有效的字母异位词 , 349. 两个数组的交集 , 202. 快
    242.有效的字母异位词 繁冗版:1,思路:先建立两个map,对应两个字符串对应的字符,同时对他们进行计数,如果这两个数字相等,那么就是相等2,代码1boolisAnagram_complicate(strings,stringt)2{3unordered_map<char,int>existedCharBys;45for(autoch......
  • 箭头函数this指向
    箭头函数与普通函数的区别1、语法更加简洁清晰2、箭头函数不会创建自己的this箭头函数没有自己的this,它会捕捉自己在定义时所处外层执行环境的this,并继承这个this值。所以箭头函数中this的指向在它被定义的时候就已经确定了,之后不再改变。下面例子中,fun1中setTimeout中使用......
  • shell数组的差集
    https://stackoverflow.com/questions/29396154/jq-setdiff-of-two-arrays1.echo-n'{"all":["A","B","C","ABC"],"some":["B","C"]}'|jq'.as$d|.all|del(.[i......
  • 调整数组顺序使奇数位于偶数前面
    输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。示例:输入:nums= [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4]也是正确的答案之一。来源:力扣(LeetCode)链接:https://leetcode.cn/problems/diao-zheng-shu-zu-shun-xu-s......
  • LeetCode/区间子数组个数
    给你一个整数数组nums和两个整数:left及right找出nums中连续、非空且其中最大元素在范围[left,right]内的子数组,并返回满足条件的子数组的个数1.遍历区间右端点+同时记录满足条件的左边点位数组中不能含有大于right的元素,且至少含有一个处于[left,right]区间的元......
  • 改变this指向
    三者都可以改变函数的this对象指向三者第一个参数都是this要指向的对象,如果如果没有这个参数或参数为undefined或null,则默认指向全局window三者都可以传参,但是apply是数组,而call是参数列表,且apply和call是一次性传入参数,而bind可以分为多次传入bind是返回绑定this之后......
  • 80 二维数组
    packagecom.fqs.test;importjava.util.Random;publicclasshello{publicstaticvoidmain(String[]args){//定义数组int[][]arr3={{1,2,3},{4,5,6,7,8}};//获取元素System.out.prin......
  • Arrays ——操作数组的工具类
    Arrays——操作数组的工具类方法名说明publicstaticStringtoString(数组)把数组拼接成一个字符串publicstaticintbinarySearch(数组,查找的元素)二分法查找元素publicstaticint[]copyof(原数组,新数组长度)拷贝数组publicstaticint[]copyofRange(......