免费注册 查看新帖 |

Chinaunix

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

[C] 一个关于sizeofd的疑问 [复制链接]

论坛徽章:
1
技术图书徽章
日期:2014-01-14 00:02:38
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-25 21:31 |只看该作者 |倒序浏览


我写了一个程序
struct student {
                        int num;
                        char name[7];
                                                 }stu;
  
  student *a
  
然后用printf 输出    sizeof(student)
                            sizeof(stu)
                             sizeof(*a) 的值

分别输出           12
                  2.546395e-313
                  0.000000
第一个值12无疑是正确的 下面两个是怎么回事?[/

论坛徽章:
0
2 [报告]
发表于 2013-03-25 21:37 |只看该作者
应该是你程序写错了

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
3 [报告]
发表于 2013-03-25 21:37 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
4 [报告]
发表于 2013-03-26 12:03 |只看该作者
struct student *a ;
or
stu *a;
吧。。。

论坛徽章:
1
摩羯座
日期:2013-11-14 15:56:09
5 [报告]
发表于 2013-03-26 12:24 |只看该作者

  1. struct student {
  2.         int num;
  3.         char name[7];
  4. }stu;

  5. student *a;

  6. int main()
  7. {
  8.     printf("%d,%d,%d\n", sizeof(student), sizeof(stu), sizeof(*a));
  9.     return 0;
  10. }
复制代码
肯定是你写错了,输出:
12,12,12

论坛徽章:
1
技术图书徽章
日期:2014-01-14 00:02:38
6 [报告]
发表于 2013-03-26 12:49 |只看该作者
本帖最后由 qq948299114 于 2013-03-26 13:01 编辑

回复 5# 放纵思想
  1. #include "stdafx.h"
  2. struct student
  3. {
  4. int num;
  5. char name[7];
  6. }wang;
  7. student *a;
  8. int main ()
  9. {
  10.         printf("%d %d %d",sizeof(struct student),sizeof(wang),sizeof *a);
  11. }
复制代码
这是代码,在VC2012中输出12  2.546395e-313   0.000000
后来请教别人,知道是系统为64位系统的缘故,改代码
  1. #include "stdafx.h"
  2. int main()
  3. {
  4.     struct student {
  5.         int num;
  6.         char name[7];
  7.     } stu;

  8.     struct student * a;

  9.     printf("%lu\n%lu\n%lu\n", sizeof(struct student), sizeof(stu), sizeof(*a));


  10.     return 0;
  11. }
复制代码
输出正确结果12 12 12
  

论坛徽章:
1
技术图书徽章
日期:2014-01-14 00:02:38
7 [报告]
发表于 2013-03-26 12:52 |只看该作者
回复 3# pmerofc

那个c与c++混合版,不是标准c语言语法,只为了测试一下

   

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
8 [报告]
发表于 2013-03-26 13:37 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP