typedef int List;
List *list;
1、初始化线性表
initList(List* &temp)//必须为引用,因为,list还未进行初始化,无法进行值传递;
{
temp= (List*)malloc(sizeof(list)*3);
}
2、销毁线性表
destroyList(List * &temp)//应为引用,因为,需要 list=NULL, 倘若只是释放指针指向的空间,值传递也可以。
{
free(temp);
temp = NULL;
}
3、返回第n个元素
getElem(List *temp ,int i, list& value)//取值操作的话,只需要对指针变量进行值传递即可,传引用可以,但是没必要
{
value = temp[i];
}
4、改变第n个元素
putElem(List* temp, int i,list value)//更改操作的话,只需要对指针变量进行值传递即可,传引用可以,但是没必要
{
temp[i] = value;
}
对于3,4操作的总结:进行指针的值传递,也就是进行了 temp = list操作,他们只需要进行值传递就可以操作指向的内存单元了。
这就形如:
int a = 1;
int *b = &a;
func(int *temp)
{
*temp = 2; //或者形如temp[0]= 2;
}
func(b);// 此时a = 2;
这里用到了进行指针传递的时候,对指针进行 * 或[] 处理,都可以解引用;倘若指针只是指向了一个元素,则理解为数组只有一个元素temp[0]即可。