如果返回的地址,并且这个地址是个局部变量的地址,那么就是在栈上,所以我们不建议返回这样的地址结果。
如果返回的是一个malloc或者new的变量的地址,就是在堆上。如果要返回地址,建议这样做,还要注意使用完成后进行内存释放
既然数组是有序的,你可以返回首个位置,另外在函数里加一个参数 int *n,让n记录个数。int binary_search( array[], size, number, int * n)
在调用时
int n
int p = binary_search( ... , &n)
这样,p, p+1, ... , p+n-1,就是你要的值。
1、可以事先检查一下传递给 read() 函数的 fd 是否合法,即在 'if ((nread = read(fd,myBuff2,strlen(myBuff2)))>0)' 之前判断 if ( fd == NULL ) printf("出错啦!\n")2、read()函数是文件 *** 作函数,在c语言中很重要。
函数的返回值如下:
(1)如果成功,返回读取的字节数;
(2)如果出错,返回-1并设置errno;
(3)如果在调read函数之前已是文件末尾,则返回0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)