| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 671 人关注过本帖
标题:求助一个关于sizeof的问题
取消只看楼主 加入收藏
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
 问题点数:0 回复次数:1 
求助一个关于sizeof的问题

看看下面的程序(在VC6.0上通过):
#include <stdio.h>
void example(char acHello[])
{
printf("%d",sizeof(acHello));
return;
}

void main()
{
char acHello[]="hello";
example(acHello);
getchar();
return;
}
运行结果是4,而改为下面的程序:
void main()
{
char acHello[]="hello";
printf("%d",sizeof(acHello));
//example(acHello);
getchar();
return;
}
运行结果是6,为什么不一样?
哪位大虾帮我解释一下,我对sizeof这块不是很明白,还有谁对C语言的字节对齐比较明白,能大致讲一下,或者
提供资料出处,感激不尽!

搜索更多相关主题的帖子: sizeof 
2007-10-18 22:36
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
在example函数的定义中
void example(char acHello[])已经说明了参数是个数组了啊
我觉得sizeof应该计算从数组首元素指针开始到‘\0’的字节数才对啊。
所以应该还是有某个参数传递的规则我不清楚!

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-10-18 23:04
快速回复:求助一个关于sizeof的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015245 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved