免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 3801 | 回复: 38
打印 上一主题 下一主题

问个C的题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-21 09:55 |只看该作者 |倒序浏览
若int为32位,定义
int **a[2][4];
问数组a的容量是多大?为什么?
备选答案有:
A.8位
B.32位
C.64位
D.不确定

论坛徽章:
0
2 [报告]
发表于 2005-11-21 10:10 |只看该作者
有点疑惑
是B?8*4

论坛徽章:
0
3 [报告]
发表于 2005-11-21 10:14 |只看该作者
D.不确定
还没分配内存

论坛徽章:
0
4 [报告]
发表于 2005-11-21 10:19 |只看该作者
数组里面放了 8个(2维, 4个/维 ) 指向指针的指针 ?

论坛徽章:
0
5 [报告]
发表于 2005-11-21 10:25 |只看该作者
原帖由 zy116 于 2005-11-21 10:19 发表
数组里面放了 8个(2维, 4个/维 ) 指向指针的指针 ?

我是这么理解的,不知道对不对。

论坛徽章:
0
6 [报告]
发表于 2005-11-21 10:28 |只看该作者
我在cygwin和sco 下试了一下,都是32。

int **a[2][4];
应该是定义了8个指向int型指针的指针,32=4*8,但是这里的4应该是指针的长度,而不是int的长度。
把这个改为char **a[2][4];也是32
不知道我说得对不对。

论坛徽章:
0
7 [报告]
发表于 2005-11-21 10:28 |只看该作者
int 是 32位, 那么指针也应该是 32位吧, 指针存的地址其实应该就是按 int 算

2*4*32 = ?? 上面就没答案了啊

不要被 (**) 所迷惑, 就算 char **a[2][4] 效果也是一样的; 说不确定也是不对的.

论坛徽章:
0
8 [报告]
发表于 2005-11-21 10:36 |只看该作者
指针的位数 在32位机上是32 , 在64位机上是64

论坛徽章:
0
9 [报告]
发表于 2005-11-21 10:37 |只看该作者
sizeof(a)不就行了。

论坛徽章:
0
10 [报告]
发表于 2005-11-21 10:45 |只看该作者
原帖由 晏东 于 2005-11-21 10:37 发表
sizeof(a)不就行了。

你用sizeof(a)想做什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP