代码中的&是什么意思

时间:2021-08-08 16:52:16
这里面的&的是什么意思,这段是纯c语言的代码吗?


#include<stdio.h>
#include<malloc.h>

#define MaxSize 50

typedef char ElemType;
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;

void InitList(SqList *&L)
{
L=(SqList * )malloc(sizeof(SqList));
L->length=0;
}

void DestroyList(SqList *L){
free(L);


}
int ListEmpty(SqList *L){
return(L->length==0);
}
int ListLength(SqList *L){
return(L->length);
}
void DispList(SqList *L){
int i;
if(ListEmpty(L))
return ;
for(i=0;i<L->length;i++)
printf("%c",L->data[i]);
printf("\n");
}

int GetElem(SqList *L, int i, ElemType &e){
if(i<1||i>L->length)
return 0;
e=L->data[i-1];
return 1;


}

int LocateElem(SqList *L, ElemType e){
int i=0;
while(i<L->length&&L->data[i]!=e)
i++;
if(i>=L->length)
return 0;
else
return i+1;
}


int ListInsert(SqList * &L,int i, ElemType e){
int j;
if(i<1||i>L->length+1)
return 0;
i--;
for(j=L->length;j>i;j--)
L->data[j]=L->data[j-1];
L->data[i]=e;
L->length++;
return 1;


}



int ListDelete(SqList * &L,int i, ElemType &e){
int j;
if(i<1||i>L->length)
return 0;
i--;
e=L->data[i];
for(j=i;j=L->length-1;j++)
L->data[j]=L->data[j+1];

L->length--;
return 1;


}

14 个解决方案

#1


指针的引用

#2


是c++中的内容么
刚学完c语言怎么没有学习过引用呢?
引用 1 楼  的回复:
指针的引用

#3


引用在C中也可以使用,只是很多教材没有提。
用法如下:
引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。

#4


reference

#5


纯C中没有引用,C++中才有!

#6


引用。。。。。。。。。。

#7


额,那个是引用,而且不是纯c,c里边是没有引用的,

#8


int ListDelete(SqList * &L,int i, ElemType &e){
 int j;
 if(i<1||i>L->length)
 return 0;
 i--;
 e=L->data[i];
 for(j=i;j=L->length-1;j++)
 L->data[j]=L->data[j+1];
 
L->length--;
 return 1;
}
这段代码中的return 1;是什么意思? 有什么用?

引用 7 楼  的回复:
额,那个是引用,而且不是纯c,c里边是没有引用的,

#9


int ListDelete(SqList * &L,int i, ElemType &e){
 int j;
 if(i<1||i>L->length)
 return 0;
 i--;
 e=L->data[i];
 for(j=i;j=L->length-1;j++)
 L->data[j]=L->data[j+1];
 
L->length--;
 return 1;
}
这段代码中的return 1;是什么意思? 有什么用?

引用 7 楼  的回复:
额,那个是引用,而且不是纯c,c里边是没有引用的,

#10


int ListDelete(SqList * &L,int i, ElemType &e){
  int j;
  if(i<1||i>L->length)
  return 0;
  i--;
  e=L->data[i];
  for(j=i;j=L->length-1;j++)
  L->data[j]=L->data[j+1];
  
L->length--;
  return 1;
}
这段代码中的return 1;是什么意思? 有什么用?


引用 3 楼  的回复:
引用在C中也可以使用,只是很多教材没有提。
用法如下:
引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因……

#11


基础知识

#12


那个是引用的意思

#13


和调用者打个招呼

#14


取地址符

#1


指针的引用

#2


是c++中的内容么
刚学完c语言怎么没有学习过引用呢?
引用 1 楼  的回复:
指针的引用

#3


引用在C中也可以使用,只是很多教材没有提。
用法如下:
引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。

#4


reference

#5


纯C中没有引用,C++中才有!

#6


引用。。。。。。。。。。

#7


额,那个是引用,而且不是纯c,c里边是没有引用的,

#8


int ListDelete(SqList * &L,int i, ElemType &e){
 int j;
 if(i<1||i>L->length)
 return 0;
 i--;
 e=L->data[i];
 for(j=i;j=L->length-1;j++)
 L->data[j]=L->data[j+1];
 
L->length--;
 return 1;
}
这段代码中的return 1;是什么意思? 有什么用?

引用 7 楼  的回复:
额,那个是引用,而且不是纯c,c里边是没有引用的,

#9


int ListDelete(SqList * &L,int i, ElemType &e){
 int j;
 if(i<1||i>L->length)
 return 0;
 i--;
 e=L->data[i];
 for(j=i;j=L->length-1;j++)
 L->data[j]=L->data[j+1];
 
L->length--;
 return 1;
}
这段代码中的return 1;是什么意思? 有什么用?

引用 7 楼  的回复:
额,那个是引用,而且不是纯c,c里边是没有引用的,

#10


int ListDelete(SqList * &L,int i, ElemType &e){
  int j;
  if(i<1||i>L->length)
  return 0;
  i--;
  e=L->data[i];
  for(j=i;j=L->length-1;j++)
  L->data[j]=L->data[j+1];
  
L->length--;
  return 1;
}
这段代码中的return 1;是什么意思? 有什么用?


引用 3 楼  的回复:
引用在C中也可以使用,只是很多教材没有提。
用法如下:
引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因……

#11


基础知识

#12


那个是引用的意思

#13


和调用者打个招呼

#14


取地址符