地址符号的&使用exit() rerurn () 求别Status GetElem(SqList L,int i,ElemType &e){if(i1||iL.length )
地址符号的&使用 exit() rerurn () 求别
Status GetElem(SqList L,int i,ElemType &e)
{
if(i<1||i>L.length )
return 0;
e=*(L.elem+i-1);
return 0;
}
形参什么时间加地址符号,又怎么使用 详细讲解下
顺便讲解下 exit() 和 return()的区别。
[解决办法]需要修改实参的值时就将其地址作为形参传入函数,然后通过修改地址上的内容达到修改实参的目的。exit()应该是退出程序的意思,return()是函数过程结束返回的意思
[解决办法]c里边的函数传递都是值传递,指针本身也是值传递,传递的是地址值。但是传递指针能达到修改实参的目的。return是函数返回语句,函数返回程序不一定结束。exit是程序退出。
[解决办法]在main的最后一句调用exit和调用return都是一样的。但是在函数中exit表示程序退出,return 表示将此函数的控制权还给调用者。在形参中&是表示该参数是引用传参。
[解决办法]这里表示的是伪码。
[解决办法]Status GetElem(SqList L,int i,ElemType &e) // 这里的&不是取地址的意思 , 是引用的意思 。 楼主可以查下
[解决办法]哈,的确。
LZ当心
[解决办法]&为引用或取地址
[解决办法]C里面函数参数没用过&,不过C++里面是引用,引用就是别名,你网上查一下吧。
exit()退出程序,return()返回函数调用处,并执行下一条语句。
[解决办法]C里面有scanf()用到&做取地址符
[解决办法]但要改变当前变量的值时,用变量地址,当改变的不是该变量的值则可以不用地址如:
#include <stdio.h>
#include <stdlib.h>
#define BUFF 10
void init_array(int **p)
{
(*p) = (int *)malloc(BUFF*sizeof(int));
if(NULL == (*p)
{
exit(1); //执行该条语句表明该程序已结束
return ; //结束当前函数,返回调用函数(这里是main函数),程序继续执行
}
}
void add_array(int *p, int value)
{
scanf("%d",&p[value]);
}
void main(void)
{
int *p = NULL;
init_array(&p); //改变了p的值,传p的地址进去
add_array(p,0); //没改变p的值,不需要传递地址
}
exit函数退出整个程序,return退出当前函数