首页 > 编程语言 >C++ 数组指针累加后的偏移量

C++ 数组指针累加后的偏移量

时间:2022-09-26 12:55:37浏览次数:40  
标签:str int MyStruct C++ 累加 偏移量 数组 指针

typedef struct _MyStruct
{
	int a;
	int b;
	int c;
	_MyStruct() { a = 0; b = 0; c = 0; }
}MyStruct;

int main()
{
#if 1
	MyStruct* st[3];		//数组指针
	MyStruct* str = new MyStruct;
	st[0] = str;

	cout << st << endl;        //0x00D3F7BC
	cout << st+1 << endl;      //0x00D3F7C0    //偏移4
	cout << (*st) << endl;     //0x01326328
	cout << (*st)+1 << endl;   //0x01326334    //偏移1*sizeof(MyStruct)

	int size = sizeof(st);          //12        //sizeof(MyStruct)
	int size2 = sizeof(st + 1);     //4
	int size3 = sizeof((*st));      //4
	int size4 = sizeof((*st) + 1);  //4
#endif
#if 1
 	MyStruct st[2][3];		//二维数组
	MyStruct* str = new MyStruct;
	st[0][0] = *str;

	cout << st << endl;           //0x001BF9AC
	cout << st+1 << endl;         //0x001BF9D0    //偏移3*sizeof(MyStruct)
	cout << (*st) << endl;        //0x001BF9AC
	cout << (*st)+1 << endl;      //0x001BF9B8    //偏移1*sizeof(MyStruct)

	int size = sizeof(st);          //72    //2*3*sizeof(MyStruct)
	int size2 = sizeof(st + 1);     //4
	int size3 = sizeof((*st));      //36    //3*sizeof(MyStruct)
	int size4 = sizeof((*st) + 1);  //4
#endif
        return 0;
}

标签:str,int,MyStruct,C++,累加,偏移量,数组,指针
From: https://www.cnblogs.com/Brickert/p/16730482.html

相关文章

  • OpenCV CMake windows下 C++ OpenCV配置及x86编译(傻瓜式教程)
    本傻瓜教程需要的环境如下:IDE:vs2015或vs2017, windows10或11关于vs的版本,个人觉得不管是社区版个人版还是企业版,对于我们工作学习的个人来说都一样,......
  • PC端网页特效-元素偏移量 offset 系列
    PC端网页特效—元素偏移量offset系列1.offset概述​offset翻译过来就是偏移量,我们使用offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等。获得元素......
  • c++笔记
    数据类型的意义在于给变量分配合适的内存空间,防止资源浪费#define定义常量一、整型:short、int、long、longlong    超出数值将会在另一端显示(衔尾蛇)sizeof(数......
  • C++ STL快速入门总结
    STL是“StandardTemplateLibrary”的缩写,中文译为“标准模板库”。STL是C++标准库的一部分,不用单独安装。C++对模板(Template)支持得很好,STL就是借助模板,把常用的数......
  • C++实现递归法求1!+2!+3!+…+n!的和
    1#define_CRT_SECURE_NO_WARNINGS2#include<iostream>34usingnamespacestd;5//用递归求某一项的阶乘的值6intfun(inti)//求第i项的值7{8......
  • C++程序实现100—999中所有的水仙花数输出
    ​提示:如果三位数ABC满足ABC=A3+B3+C3,则称其为水仙花数废话不多说,直接上代码,注意看注释要对自己负责#define_CRT_SECURE_NO_WARNINGS#include<iostream>usingna......
  • 不同的二叉搜索树的种数数量 C/C++ 动态规划
    #if 0class Solution {public:    int numTrees(int n) {        vector<int> s(n+1);   // 取值范围有n个数,取n个数范围内的任意一个树做根......
  • C++ 自学笔记 访问限制 Setting limits
    Settinglimits  让客户不能改,让设计者可以改 C++:  任何人访问成员函数访问(同一个类的不同实例化对象可以相互访问私有成员变量)类自己或子类访问 friend......
  • C++ 自学笔记 new和delete(动态内存分配)
    动态内存分配DynamicmemoeyallocationC++使用new和delete来申请和释放内存new:先申请一个空间int\Stash:默认构造函数初始化对象~:析构函数析构delete:再释放空间......
  • C++期末考试题库
    哈尔滨商业大学计算机专业C++期末考试题库下载:题库示例:一、单选题:1.能作为C++程序的基本单位是(C)A.字符B.语句C.函数D.源程序文件2.程序中主函数的名字为......