//利用结构体表示:年月日 #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 ",s); //看结构体变量d2占用了多少个存储空间 //输出d1中各个元素的地址 printf("%p - %p - %p ", &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 ",d2.year); return 0; }