#include <stdio.h>
#define maxSize 10
typedef struct {
int data[maxSize];
int length;
}List;
void init(List* l)
{
for (int i = 0; i < maxSize; i++)
{
l->data[i] = 0;
}
l->length = 0;
}
int main()
{
List L;
init(&L);
return 0;
}
试了敲你的代码,没有报错哇。。
有个建议就是以后提问直接copy你的到吗到代码段里,方便其他人直接测试,也能更快的给你回答
如果你只是想将strcut里的值初始化,不需要用这种方式,下面代码供你参考
#include <stdio.h>
#include<cstring>
#define maxSize 10
typedef struct tagList{
int data[maxSize];
int length;
tagList()
{
memset(this, 0, sizeof(*this));
}
}List;
void init(List* l)
{
for (int i = 0; i < maxSize; i++)
{
l->data[i] = 0;
}
l->length = 0;
}
int main()
{
List L;
//init(&L);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#define LIST_SIZE 10
#define ElemType int
typedef struct{
ElemType * elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的存储空间,单位为sizeof(int)
}Sqlist;
//初始化线性表
int InitList(Sqlist &L){
L.elem = (int *)malloc(LIST_SIZE*sizeof(int));
L.length=0;
L.listsize = LIST_SIZE;
return 1;
}
我之前写过的顺序表是这样的数据结构