CLion写顺序表运行时报错

 

  1. #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;
    }

    试了敲你的代码,没有报错哇。。

  2. 有个建议就是以后提问直接copy你的到吗到代码段里,方便其他人直接测试,也能更快的给你回答

  3. 如果你只是想将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;
}

我之前写过的顺序表是这样的数据结构