作业要求:
- 复习课上内容 //已完成
- 结构体字节对齐,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
运行截图: