方式一
typedef struct{
int data;
int people;
}date;
为了统一
之后都将用此方法定义结构体
#include顺序表 - 线性表#define MaxSize 10 typedef struct{ int data; int people; }date; typedef struct{ int data[MaxSize]; int length; } Sqlist; int main(){ //1.结构体data date a; a.data=1; a.people=2; printf(" data is %d",a.data); printf(" people is %d",a.people); //2.结构体SqList Sqlist b; b.length=0; for(int i=0;i b.data[i]=i; b.length++; } for(int i=0;i printf("data is %dn",b.data[i]); if(i==MaxSize-1) printf("length is %dn",b.length); } }
静态初始化
#include#define MaxSize 10 typedef struct{ int elem[MaxSize]; int length; }SqList; void initSqList(SqList & l){ for(int i=0;i l.elem[i]=0; } l.length=0; } int main(){ SqList l; initSqList(l); for(int i=0;i printf(" l.elem[%d] is %dn",i,l.elem[i]); if(i==MaxSize-1) printf("l.length is %d",l.length); } return 0; }
动态初始化
#include#include #define InitSize 10 typedef struct{ int *data; int length; int maxsize; }SqList; void initSqList(SqList & l){ l.data=(int *)malloc(sizeof(int)*InitSize); l.length=0; l.maxsize=InitSize; } void increaseSqList(SqList & l,int len){ int *p=(int *)malloc(sizeof(int)*(InitSize+len)); l.maxsize=InitSize+len; for(int i=0;i l.data[i]=p[i]; } free(p); } int main(){ SqList l; initSqList(l); increaseSqList(l,5); for(int i=0;i printf("l.data is %d",l.data); } for(int i=0;i printf("l.data is %dn",l.data[i]); } return 0; }



