A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 飞奔的小鱼 中级黑马   /  2015-11-6 13:35  /  637 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int main(int argc, const char * argv[])
{
    struct Person
    {
//        结构体变量分配存储空间按照补齐算法
        int age;
        char c;//分配的存储空间必须是占用字节最大的成员的倍数
        char *name; //8 + 1 + 4 = 13
    };

    struct Person p;
    unsigned long size = sizeof(p);
    printf("size = %lu\n", size);
   
    return 0;
}

void test()
{
   
    //    1.定义结构体类型,  不会分配存储空间
    struct Date
    {
        int year;//第一个成员的地址就是结构体变量的地址
        int month;
        int day;
    };
   
    //    2.通过结构体类型定义结构体变量, 这个时候才会真正的分配存储空间
    struct Date d1 = {2014, 3, 1};
   
     printf("d1 = %p\n", &d1);
        
    struct Date d2;
    d2 = d1;//把d1中的所有成员对应的赋值给d2中的成员
    d2.year = 2015;
    //    printf("year = %d, month = %d, day = %d\n", d2.year, d2.month, d2.day);
    printf("year = %d, month = %d, day = %d\n", d1.year, d1.month, d1.day);
   
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马