数据结构C语言定义问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 12:48:53
typedef int *triplet;请问这个语句具体表达的是什么意思?后面如果定义triplet t,责t是什么类型的?之后在status fun(triplet **t,int v1,int v2,int v3)
{
*t=(int *)malloc(3*sizeof(int));
if(!(t))exit(OVERFLOW);
(*t)[0]=v1;(*t)[1]=v2;(*t)[2]=v3;
return OK;
}语句中t又以什么类型传递给函数,又以什么类型在函数中工作?
同样在这个语句中typedef struct
{
int *elem;
int length;
int listsize;
}Sqlist;
Sqlist l;
status Initlist(Sqlist *l)
{
l->elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int));
if(!l->elem)exit(OVERFLOW);
l->length=0;
l->listsize=LIST_INIT_SIZE;
return OK;
}
l又为什么类型?又是以什么类型传递给initlist函数和在次函数中工作的?

typedef int *triple;表示定义一个自定义类型,即triple t; = int *t;
至于你的函数写错了,我记得我给人回答了一问题,函数跟你一模一样,他传的是triple t,我帮他改成int **t,怎么到你这里又变成triple **t了?其实你可以定义成triple *t,也跟int **t是一样的。这就表示把一个指针变量的地址传入函数。
至于Sqlist l;中的l就是自定义类型Sqlist。以指针类型传递给Initlist.