首页 > 综合精选 > > 正文
2024-06-17 08:34:35

北邮人bbs

导读 【#北邮人bbs#】1、关键在于主函数中的Q指针在定义之后没有指向任何合法空间,所以要先为它分配空间,然后才能在init函数中对它的成员进行...
【#北邮人bbs#】

1、关键在于主函数中的Q指针在定义之后没有指向任何合法空间,所以要先为它分配空间,然后才能在init函数中对它的成员进行操作(为data成员分配空间)。

2、修改如下:

3、//---------------------------------------------------------------------------

4、#include

5、#include /*注意这里*/

6、#define SIZE 100 /*注意这里*/

7、typedef struct

8、{

9、int *data;

10、int length;

11、int size;

12、}Sqlist;

13、void Initlist_Sq( Sqlist *L)

14、{

15、L->data=(int*)malloc(SIZE*sizeof(int));

16、if(!L->data)exit(-2);

17、L->length=0;

18、L->size=SIZE;

19、}

20、int main()

21、{int i,k;

22、Sqlist *Q=(Sqlist*)malloc(sizeof(Sqlist)); /*注意这里*/

23、Initlist_Sq(Q);

24、printf("请输入:length");

25、scanf("%d",&Q->length);

26、printf("please input the numbers:");

27、for (i=0;i<=Q->length;i++)

28、{

29、scanf("%d",&Q->data[i]); /*注意这里*/

30、printf("%d",Q->data[i]);

31、}

32、system("pause");/*注意这里*/

33、return 0;

34、}

35、//---------------------------------------------------------------------------

【#北邮人bbs#】到此分享完毕,希望对大家有所帮助。