c语言 数据结构
int sxbsc(int i, int v[], int *p) {
int j,n; n=*p;
if((i<1) || (i>n))
return (0);
for(j=i;j<n;j++)
v[j-1]=v[j];
*p=--n;
return (1);
}
这是我们的数据结构课上用C语言编写的一个程序的一部分,是删除一个元素的,我不太懂,大家帮我看看,其中的n.p的意思,对程序做一简单的介绍!
谢谢大家啦!
int sxbsc(int i, int v[], int *p) { int j,n; n=*p; //根据你的程序,你的j用来进行删除操作的,n用来接收传进来的数组长度*p if((i<1) || (i>n)) return (0); //上一个if语句用于判断需要删除那个元素的下标是否越界,若越界,返回值0 for(j=i;j<n;j++) v[j-1]=v[j]; //当下标未越界,用第j-1个元素覆盖掉需要删除的第j个元素,循环覆盖 *p=--n; //完成删除操作后,使数组长度自减1 return (1); }因为数组是地址传递,所以可以完成覆盖操作。