一.memset
memset()函数原型为extern void *memset(void *buffer , int c , int count)
buffer : 为指针或是数组
c:是赋给buffer的值
count:是buffer的长度
作用:
memset将指针变量buffer所指向的前count个字节的内存单元用一个整数‘c’替换,一般对较大的数组或结构体进行初始化
#include<stdio.h>
#include<string.h>
int main(void)
{
int i;
char str[10];
char *p=str;
memset(str,0,sizeof(str));
for(i=0;i<10;i++)
{
printf("%d\x20",str[i]);
}
printf("\n");
return 0;
}
二. return
return;void类型函数的返回,返回后不执行return后面的语句,成功返回0,不成功返回非0,一般用 -1 来表示。
return 0;一般在主函数结束时,表示程序正常终止,即告诉系统程序正常。
return 1;返回一个代数值,在子函数结尾,表示程序异常终止,告诉系统程序异常。
return -1;与return 1 同。
三. 函数参数传递
分为值传递和地址传递
值传递:主函数把实参的值赋给形参,形参获得值运行函数。值传递过程中被调函数参数值的更改不能导致实参值的更改。
地址传递:从实参传递过来地址,被调函数中形参值的更改会直接导致实参值的更改。
考虑把多个返回值作为数组元素定义成一个数组的形式,并使该数组的地址作为函数的形式参数,以传址的方式传递给数组参数。函数被调用后,形参数组元素改变导致实参改变,我们再从改变后的实参数组元素中获得函数的多个返回值。