作业要求:
- 复习课上内容 //已完成
- 结构体字节对齐,64位没做完的做完,32位重新都做一遍,课上指定2字节对齐的做一遍,自己验证 //已完成
- 两种验证大小端对齐的代码写一遍
- 复习指针内容 //已完成
- 完善顺序表已写出的功能
3.
(1)共用体
运行代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
union A
{int a;char c;
}A; int main(int argc, const char *argv[])
{A a1;a1.a=0x12345678;if(a1.c==0x78){pirntf("小端\n");}else{printf("大端\n");}return 0;
}
(2)memset函数
运行代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char *argv[])
{int a=0x12345678;memset(&a,0x11, 1);char *p=&a;if(*p==0x11){printf("小端\n");}else {printf("大端\n");}return 0;
}
运行截图:
5.
运行代码:
#include "list.h"
int main(int argc, const char *argv[])
{seq_p p1=creat_seq_list();if(seq_empty(p1)==1){printf("空\n");}else if(seq_full(p1)==1){printf("满\n");}p1=NULL;free(p1);return 0;
}
#include "list.h"seq_p creat_seq_list()
{seq_p L=(seq_p)malloc(sizeof(seq_list));if(L==NULL){return -1;}bzero(L,sizeof(L->data));printf("%d\n",L->len);return L;
}int seq_full(seq_p L)
{if(L==NULL){return -1;}return L->len==MAX?1:0;
}
int seq_empty(seq_p L)
{if(L==NULL){return -1;}return L->len==0?1:0;
}
#ifndef __LIST_H__
#define __LIST_H__
#include<stdio.h>
#include<stdlib.h>
#include<strings.h>
#define MAX 7
typedef int datatype;
typedef struct seq_list
{datatype data[MAX];int len;
}seq_list,*seq_p;seq_p creat_seq_list();
int seq_empty(seq_p L);
int seq_full(seq_p L);#endif
运行截图: