首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
64位系统上,定义的变量int*a[2][3]占据多少字节?
[单选题]
64位系统上,定义的变量int*a[2][3]占据多少字节?
4
12
24
48
添加笔记
邀请回答
收藏(81)
分享
纠错
15个回答
添加回答
11
推荐
牛客979212号
一个指针数组,数组里面存放的是指针,a[2][3]可以看成一维数组为a[0],a[1],在每个一维数组里面又存放了3个指针,64系统下指针8位,6*8=48
编辑于 2015-08-20 16:42:00
回复(1)
7
逍遥界
1)对数组而言,其所占的字节=数组中元素个数*元素类型所占的字节;
如在64位系统下:int a[7], sizeof(a)=7*4=56;
2)在64位系统下,地址站8个字节;在32位系统下,地址站4个字节;其他基本数据类型所占字节,仍然不变,如 int 占4个字节,double占8个字节,除非特别说明,如int_64-占8字节
int*p; 在64位系统下sizeof(p)=8;在32位系统下sizeof(p)=4;
3)指针数组,是指每个数组元素是指针,int*p[];
4)综上所述,指针数组所占的字节数=指针元素的个数*地址所占字节数;
如在64位系统下
int*a[2][3]==》sizeof(a)=2*3*8=48
编辑于 2015-08-24 17:16:58
回复(2)
1
右右空格
这是一个指针数组,数组内每一个元素都是一个指针。二维数组[2][3]有6个元素,就是有个6个指针。指针在64位系统中占8个字节,6个便是48字节。
int *p[2] = {&a,&b};这种形式的是指针数组。
int (*p)[2] = {1,2};这种形式的是数组指针,表示一个数组整体的指针。
发表于 2020-04-06 23:27:38
回复(0)
2
moonlights
int*a[2][3] a的类型是int[][],实际存储的是a[0]的地址,占8字节,同时创建出两个int[]数组
两个int[]数组实际存储的分别是a[0][0]和a[1][0]的地址,一共占16字节,同时创建出6个int
int存储的就是实际值,每个int占8字节,6个int占48字节
所以最终占用了72字节。这么看来,难道是题目出错了?
注意,这里的定义是int*,也就是说,只是定义了数组,并没有对该数组赋值。也就是说,int[]数组里面存储的地址是并没有初始化,且int没有被创建。这么看来,实际占据字节就是24字节了。所以应该选C
编辑于 2015-08-24 11:13:44
回复(1)
0
牛客908875号
指针数组,比如 int *a[2] 就是定义了两个int 型指针,占用 2*机器位数/8字节,题中是二维指针数组就是2*3*机器位数/8字节 = 48
发表于 2015-08-25 18:37:50
回复(0)
0
DenceChen
d
发表于 2015-08-24 23:14:03
回复(0)
0
来个人打球
这里只要知道指针的作用就可以,指针只是代表(存储)内存地址。 那么可以得出 无论int 型指针 chai型指针,double型指针都是64位即8个字节,所以这里有6个指针那么就是48个字节。
可以定义不同类型的指针,printf(sizeof(p)); 这还不懂就没办法了,个人体会。
发表于 2015-08-24 22:52:49
回复(0)
0
文兄
这就是6个指针,每个指针是8,则是48
这应该是C/C++语言吧
发表于 2015-08-24 20:26:30
回复(0)
0
牛客989400号
在64位系统上,
int *变量 占64位,而int 变量占32位。
int* a[2][3]的含义是a为二维2*3数组,共6个元素,元素的类型为int*;
所以共占用的内存为6*8=48;
选D
发表于 2015-08-24 20:23:51
回复(0)
0
张元亮
D 这是一个指针数组,64位系统一个指针占8位,3*2的二维数组6个元素,所以共占6*8 = 48位
发表于 2015-08-24 13:54:14
回复(0)
0
寒風勁草
D64位系统指针位8个字节,该数组为指针数组,总共6个单元,6*8=48
发表于 2015-08-24 12:59:39
回复(0)
0
海盗吃的就是肉
D 64位下一个指针为8个字节,所以答案=2×3×8=48
发表于 2015-08-24 11:03:26
回复(0)
0
kidForever
int*a[2][3]定义了一个二维的指针数组,每个元素是一个指向int型的指针,总共有2*3=6个指针;而在64位系统上,每个指针占8个字节,所以共计占用空间:6*8=48字节。
发表于 2015-08-24 10:57:49
回复(0)
0
牛客257039号
d 数组内存储2*3=6个指针类型8个字节共48
发表于 2015-08-24 09:30:31
回复(0)
0
liqi
D
发表于 2015-01-02 06:29:20
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
编译和体系结构
阿里巴巴集团
上传者:
策马啸西风
难度:
15条回答
81收藏
13809浏览
热门推荐
相关试题
进程阻塞的原因不包括()
阿里巴巴集团
操作系统
测试
后端开发
客户端开发
前端开发
数据
运维/技术支持
评论
(21)
来自
阿里巴巴2013研发工程...
以下指令集架构属于复杂指令集架构的是?
阿里巴巴集团
编译和体系结构
评论
(15)
来自
阿里巴巴2015实习生笔试题
法法
枚举
评论
(1)
下面有关JAVA异常类的描述,说法...
Java
评论
(1)
在 Go 中,当使用 range ...
Go
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题