- 论坛徽章:
- 0
|
#include <stdio.h>
#include <stdlib.h>
# define ListSize 100
typedef int DataType;
typedef struct {
DataType data[ListSize];
int length;
}Sqlist;
void InitList(Sqlist &L)
{
int i;
L.length=0;
for(i=0;i<ListSize;i++)
{
L.data[i] = rand()%ListSize;
L.length++;
}
}
void InsertList(Sqlist *L, DataType x, int i)
{
int j;
if(i<1 || i>L->length+1)
{
printf("Position error");
exit(1);
}
if(L->length>=ListSize)
printf("overflow");
exit(1);
for(j=L->length-1;j>=i-1;j--)
L->data[j+1]=L->data[j];
L->data[i-1]=x;
L->length++;
}
void deleteList(Sqlist *L, int i)
{
int j;
if(i<1 || i>L->length)
{
printf("Position error");
exit(1);
}
for(j=i;j<=L->length-1;j++)
L->data[j-1]=L->data[j];
L->length--;
}
void printList(Sqlist *L)
{
int i;
for(i=0;i<L->length;i++)
printf("%d ",L->data[i]);
}
int main()
{
Sqlist L1;
InitList(L1);
printList(&L1);
InsertList(&L1,5,3);
return 0;
} | 我用引用初始化就会提示编译错误,但是如果给为传入指针就没问题了,为什么?
[ 本帖最后由 zhangchegn 于 2007-11-23 12:31 编辑 ] |
|