不断学习

呃,上面一篇问题解决了,将顺序表改为以指针的形式传入函数后,问题解决了,所以把顺序表本身传入函数,出该函数后不会改变该顺序表?呃呃,道阻且长,还是要慢慢学习啊,稳住心态,不断实践,加油。
`#include<stdio.h>
#include<stdlib.h>

#define LIST_INIT_SIZE 100//初始储存容量
#define LISTINCREMENT 10//后续每次多分配10个元素的空间大小

typedef struct{
int * elem;//此程序为线性表的顺序表示,可理解为数组,elem作为数组的基地址
int length;//数组长度
int listsize;//初始储存容量
}SqList;//定义一个名为SqList的结构变量

void InitList_Sq(SqList * );//初始化顺序表
void FillList(SqList * );//存入十个数据
void PrintList(SqList * );//输出验证

int main()
{
int i;
SqList L;
SqList * p;
p = &L;
InitList_Sq§;
FillList§;
PrintList§;
return 0;
}

void InitList_Sq(SqList *p )
{
int i;
(*p).elem = (int )malloc(LIST_INIT_SIZEsizeof(int));
if(! (*p).elem)
{
printf(“Fail to Init”);
exit (1);
}
(*p).length = 0;
(*p).listsize = LIST_INIT_SIZE;
}
void FillList(SqList *p )
{
int i;
for( i = 0;i<10;i++)
{
scanf("%d",&(*p).elem[i]);
(*p).length++;
}

}
void PrintList( SqList *p )
{
int i;
for(i=0;i<10;i++)
{
printf("%d\n",(*p).elem[i]);
}
printf("%d",(*p).length);
}`

猜你喜欢

转载自blog.csdn.net/qq_44134301/article/details/88623745