本文共 1633 字,大约阅读时间需要 5 分钟。
struct Student {
int age;
float score;
char sex;
};
main() {
struct Student stu = {18, 88.5, 'M'};
}
使用结构体变量
struct Student stu = {80,55.5,'F'};
struct Student stu2;
stu2.age = 10;
stu2.score = 88.8f;
stu2.sex= ‘M';
printf("%d %f %c\n", st.age, st.score, st.sex);
结构体长度
范例代码:
#include<stdio.h>
#include<stdlib.h>
/**
结构体
*/
//定义结构体
struct Student {
int age;//年龄 4个字节
float score;//成绩 4个字节
char sex;//性别 1个字节
};
struct Student1 {
int age;//年龄 4个字节
float score;//成绩 4个字节
long sex;//性别 4个字节
};
main()
{
struct Student stu = {18, 88.5, 'M'};
//1、取值
printf("stu.age=%d\n",stu.age);
printf("stu.score=%.1f\n",stu.score);
printf("stu.sex=%c\n",stu.sex);
//2、赋值
stu.age = 100;
stu.score = 99.9;
stu.sex = 'w';
printf("stu.age=%d\n",stu.age);
printf("stu.score=%.1f\n",stu.score);
printf("stu.sex=%c\n",stu.sex);
//3、结构体的长度
printf("Student的长度=%d\n",sizeof(struct Student));
printf("Student1的长度=%d\n",sizeof(struct Student1));
system("pause");
}
struct Date {
int year;
int month;
int day;
};
union Mix {
long i;
int k;
char ii;
};
main() {
printf("date:%d\n",sizeof(struct Date));
printf("mix:%d\n",sizeof(union Mix));
system("pause");
}
范例代码:
#include<stdio.h>
#include<stdlib.h>
/*
联合体
*/
//定义一个结构体
struct Date {
int year;
int month;
int day;
};
//定义一个联合体,特点,所有的字段都是使用同一块内存空间;
union Mix {
long i; //4个字节
int k; //4个字节
char ii;//1个字节
};
main() {
printf("date:%d\n",sizeof(struct Date));
printf("mix:%d\n",sizeof(union Mix));
//实验
union Mix m;
m.i = 100;
m.k = 123;
printf("m.i=%d\n",m.i);
printf("m.k=%d\n",m.k);
system("pause");
}
运行结果:如图:
联合体,特点,所有的字段都是使用同一块内存空间;
mix.I mix .k mix.ii共用相同的地址
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。