sizeof(数组)

这里就不讨论一般的数组长度计算了,只说明一下任何数据到了函数的形参中都将退化为指针,所以计算大小的时候,也是计算的指针的大小

直接上代码了

 1 // class sizeof测试.cpp : 定义控制台应用程序的入口点。
 2 //
 3 
 4 #include "stdafx.h"
 5 #include<iostream>
 6 using namespace std;
 7 int f1(int num[])
 8 {
 9     return sizeof(num);
10 }
11 int f2(int num[5])
12 {
13     return sizeof(num);
14 }
15 
16 int _tmain(int argc, _TCHAR* argv[])
17 {
18     int num[5]={1,2,3,4,5};
19     cout<<sizeof(num)<<endl<<sizeof(f1(num))<<endl<<sizeof(f2(num));
20     return 0;
21 }

vs2010在32位系统中的运行结果是 20,4,4

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT可乐

Spring详解(三)------DI依赖注入

  上一篇博客我们主要讲解了IOC控制反转,也就是说IOC 让程序员不在关注怎么去创建对象,而是关注与对象创建之后的操作,把对象的创建、初始化、销毁等工作交给s...

21650
来自专栏向治洪

java虚拟机构造原理

 Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三...

22260
来自专栏java一日一条

JVM内存的那些事

对于C语言开发的程序员来说,在内存管理方面,必须负责每一个对象的生命周期,从有到无。

7510
来自专栏Brian

Python With-As

深入理解Python的With-as语句 ---- 学习Python有一段时间了,最近做一个项目会涉及到文件的读取和关闭。比如:我想把一些对象序列化到文件里面,...

1.1K70
来自专栏QQ音乐技术团队的专栏

谁创建谁销毁,谁分配谁释放——JNI调用时的内存管理

在QQ音乐AndroidTV端的Cocos版本的开发过程中,我们希望尽量多的复用现有的业务逻辑,避免重复制造轮子。因此,我们使用了大量的JNI调用,来实现Jav...

50060
来自专栏java、Spring、技术分享

JVM学习笔记

  java引用类型分为四种:类、接口、数组类和泛型参数。其中泛型参数会在编译过程中被擦除。因此 Java 虚拟机实际上只有前三种。在类、接口和数组类中,数组类...

12520
来自专栏测试开发架构之路

堆和栈的区别

一、预备知识—程序的内存分配          一个由C/C++编译的程序占用的内存分为以下几个部分     1、栈区(stack)— 由编译器自动分配释放,存...

29380
来自专栏Jimoer

jvm学习记录-对象的创建、对象的内存布局、对象的访问定位

简述 今天继续写《深入理解java虚拟机》的对象创建的理解。这次和上次隔的时间有些长,是因为有些东西确实不好理解,就查阅各种资料,然后弄明白了才来做记录。 (此...

28470
来自专栏大闲人柴毛毛

深入JVM——OOM异常解析

JVM对象访问解析 对象访问过程的内存情况 public void function(){ Object obj = new Object(); } f...

438110
来自专栏云霄雨霁

Java虚拟机--内存区域划分

16140

扫码关注云+社区

领取腾讯云代金券