//
// main.c
// ConstructedType
//
// Created by Kenshin Cui on 14-7-18.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#include <stdio.h>
//结构体类型Date
struct Date{
int year;
int month;
int day;
};
struct Person{
char *name;
int age;
struct Date birthday;//一个结构体中使用了另一个结构体类型,结构体类型变量声明前必须加上struct关键字
float height;
};
int main(int argc, const char * argv[]) {
struct Person p={"Kenshin",28,{1986,8,8},1.72};
//定义结构体变量并初始化,不允许先定义再初始化,例如:struct Person p;p={"Kenshin",28,{1986,8,8},1.72};是错误的
printf("name=%s,age=%d,birthday=%d-%d-%d,height=%.2f\n",p.name,p.age,p.birthday.year,p.birthday.month,p.birthday.day,p.height);
//结果:name=Kenshin,age=28,birthday=1986-8-8,height=1.72,结构体的引用是通过"结构体变量.成员名称"
printf("len(Date)=%lu,len(Person)=%lu\n",sizeof(struct Date),sizeof(struct Person));
//结果:len(Date)=12,len(Person)=32
return 0;
}
//
// main.c
// ConstructedType
//
// Created by Kenshin Cui on 14-7-18.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#include <stdio.h>
struct Date{
int year;
int month;
int day;
};
struct Person{
char *name;
int age;
struct Date birthday;
float height;
};
void changeValue(struct Person person){
person.height=1.80;
}
int main(int argc, const char * argv[]) {
struct Person persons[]={
{"Kenshin",28,{1986,8,8},1.72},
{"Kaoru",27,{1987,8,8},1.60},
{"Rosa",29,{1985,8,8},1.60}
};
for (int i=0; i<3; ++i) {
printf("name=%s,age=%d,birthday=%d-%d-%d,height=%.2f\n",
persons[i].name,
persons[i].age,
persons[i].birthday.year,
persons[i].birthday.month,
persons[i].birthday.day,
persons[i].height);
}
/*输出结果:
name=Kenshin,age=28,birthday=1986-8-8,height=1.72
name=Kaoru,age=27,birthday=1987-8-8,height=1.60
name=Rosa,age=29,birthday=1985-8-8,height=1.60
*/
struct Person person=persons[0];
changeValue(person);
printf("name=%s,age=%d,birthday=%d-%d-%d,height=%.2f\n",
persons[0].name,
persons[0].age,
persons[0].birthday.year,
persons[0].birthday.month,
persons[0].birthday.day,
persons[0].height);
/*输出结果:
name=Kenshin,age=28,birthday=1986-8-8,height=1.72
*/
struct Person *p=&person;
printf("name=%s,age=%d,birthday=%d-%d-%d,height=%.2f\n",
(*p).name,
(*p).age,
(*p).birthday.year,
(*p).birthday.month,
(*p).birthday.day,
(*p).height);
/*输出结果:
name=Kenshin,age=28,birthday=1986-8-8,height=1.72
*/
printf("name=%s,age=%d,birthday=%d-%d-%d,height=%.2f\n",
p->name,
p->age,
p->birthday.year,
p->birthday.month,
p->birthday.day,
p->height);
/*输出结果:
name=Kenshin,age=28,birthday=1986-8-8,height=1.72
*/
return 0;
}
//
// main.c
// ConstructedType
//
// Created by Kenshin Cui on 14-7-18.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#include <stdio.h>
enum Season{ //默认情况下spring=0,summer=1,autumn=2,winter=3
spring,
summer,
autumn,
winter
};
int main(int argc, const char * argv[]) {
enum Season season=summer; //枚举赋值,等价于season=1
printf("summer=%d\n",season); //结果:summer=1
for(season=spring;season<=winter;++season){
printf("element value=%d\n",season);
}
/*结果:
element value=0
element value=1
element value=2
element value=3
*/
return 0;
}
//
// main.c
// ConstructedType
//
// Created by Kenshin Cui on 14-7-20.
// Copyright (c) 2014年 Kenshin Cui. All rights reserved.
//
#include <stdio.h>
union Type{
char a;
short int b;
int c;
};
int main(int argc, const char * argv[]) {
union Type t;
t.a='a';
t.b=10;
t.c=65796;
printf("address(Type)=%x,address(t.a)=%x,address(t.b)=%x,address(t.c)=%x\n",&t,&t.a,&t.b,&t.c);
//结果:address(Type)=5fbff7b8,address(t.a)=5fbff7b8,address(t.b)=5fbff7b8,address(t.c)=5fbff7b8
printf("len(Type)=%d\n",sizeof(union Type));
//结果:len(Type)=4
printf("t.a=%d,t.b=%d,t.c=%d\n",t.a,t.b,t.c);
//结果:t.a=4,t.b=260,t.c=65796
return 0;
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有