结构变量2

//利用结构体表示:年月日

#include<stdio.h>
int main()
{
    //1. 定义结构体变量。不会分配存储空间 
    struct Date
    {
        //按顺序分配 
        int year;
        int month;
        int day;
        
     } ;
     //2. 定义结构体变量。(这个时候才会分配存储空间) 
     struct Date d1 = {2011,4,10};//月份不可以写成09,07等,0开头是八进制。
     
     int s = sizeof(d1);
     printf("%d\n",s); //看结构体变量d2占用了多少个存储空间
     
      //输出d1中各个元素的地址
      printf("%p - %p - %p\n", &d1.year, &d1.month, &d1.day); 
    
    
    
    struct Date d2 = {2022, 6, 7    };
    //结构体所占用的空间必须是最大成员 字节的倍数。这叫补齐算法 or对齐算法 
    d2 = d1;// 把d1的值复制给d2
    d2.year = 22222;//这个时候下面打印的还是2222,d2的值已经改变了 
    printf("d2.year = %d\n",d2.year); 
    return 0;
 } 

 

posted @ 2015-03-12 21:26  稳稳稳稳稳稳  阅读(212)  评论(0编辑  收藏  举报