补11.27
1.共同体(临时数据处理)
共同体占用内存大小是其中类型最大的大小 4的倍数
存数据的瞬间就是最后的值
union st
{
int x;
char a;
char s[10];
}student;组名 可以直接组名控制输入输出
int main()
{
scanf("%d",&x);
scanf("%c",&a);
}
2枚举
一般用在对于已知选项整型判断
enum color 类型的名
{
red,blue,yellow,black,white;
}ch;
int main()
{
printf("%d",blue);
}
enum select
{
A,B,C,D;
}ch;
int main()
{
ch=B;
switch(ch);
{
case A:printf("ss");break;
case B:printf("gg");break;
}
}
3
队列 一堆数据 【】 1 2 3 4 先到先处理
栈 【】1 2 3 4先到先处理
数据查找 二分法 有序数组(折半查找)
对有序数组查找
a[10]={1,4,7,12,15,27,36,49,51,63}
(0+9-1)/2 15
(4+9-1)/2 36
(6+9-1)/2 49
上限与上限值相等就是没有
数小于一半下限加1
4
链表 通过指针方式去使用
非常精准找到元素位置
缺点只能从头开始 在内存内申请空间(size of(多大空间))
stru stu
{
int m;
char a;
struct stu*next;
};
stuct stu student[5];
{
u32 i;
printf("%d",size of(u32));
struct stu*head;
if(head==NULL)
{
head=(struct stu*)malloc(size of(student));
}
head->=1;
head->a='g';
head->next=(struct stu*)mallo(size of(student));
}
for(i=0;i<5;i++)
{
head->next=(struct stu*)malloc(sizeof(stu));
}
//free释放指针;
head->next=head->next->next
先申请再赋值
结构体指针大小4个字节