| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12107 人关注过本帖, 2 人收藏
标题:哥出几个 c 语言 基础题, 测测你可能过 2 级
只看楼主 加入收藏
mikelr
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:161
注 册:2010-3-17
收藏
得分:0 
#include <stdio.h>

struct blue
{
    int    i;
    char   c;
    char   e;

}guy;

int main(void)
{
    printf("%d",sizeof(guy));

    return 0;
}


为什么结果还是8 而不是 4 + 4 + sizeof(int) 12呢??
2010-03-19 10:27
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 21楼 mikelr
是 6 吧

我就是真命天子,顺我者生,逆我者死!
2010-03-19 10:35
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
对齐时,够一个单位的话不会再分配的

对齐:按单个变量占字节数最大的数量为一个单位,各个变量排列时,若两个或多个没有占满一个单位时,可以在一个单位内排列,若超出了,则从超出的那个开 始,从下一个单位开始算,以此类推,最终按单位的倍数计总字节数
用gcc编译器时,若加上__attribute__((packed))属性,则是占用字节总数按照实际占用字节数


[ 本帖最后由 ldg628 于 2010-3-19 10:59 编辑 ]
2010-03-19 10:41
哈皮小子
Rank: 1
等 级:新手上路
帖 子:14
专家分:8
注 册:2010-3-10
收藏
得分:0 
不会啊,这还能过吗?
2010-03-19 11:42
mikelr
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:161
注 册:2010-3-17
收藏
得分:0 
恩,谢谢。明白了。
2010-03-19 11:44
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:0 
二级挺简单的
2010-03-19 12:33
jiang_qingge
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2010-3-19
收藏
得分:0 
   我顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2010-03-19 12:44
zdyzhang
Rank: 9Rank: 9Rank: 9
来 自:栖息地
等 级:蜘蛛侠
威 望:4
帖 子:2335
专家分:1227
注 册:2008-9-20
收藏
得分:0 
这样才叫气氛哇。不过太多人因为考级而来学习,浪费大家的时间。

悲剧源于生活。
2010-03-19 12:58
Walkerd
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-3-19
收藏
得分:0 
只会一道。。。
2010-03-19 13:11
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 25楼 mikelr
我把第八题更正了, 你试试

(8)下面这段代码会不会造成 死循环, 为什么?
for (int i = -100; i < 100; i--)
{
    ;
}
 


[ 本帖最后由 BlueGuy 于 2010-3-19 15:38 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2010-03-19 15:36
快速回复:哥出几个 c 语言 基础题, 测测你可能过 2 级
数据加载中...
 
   



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

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