老师上课老说那个参数是输入型参数、那个参数是输出型参数,而那个参数又是输入输出型参数?所有我就简单的了解一下:
1、输入型参数是指这个参数的值已知,由外面传给函数里使用.
2、输出型参数是指这个参数的值未知,要通过函数传出来.
例如:拷贝函数
char *strcpy( char *strDestination, const char *strSource );
其函数功能是把字符串strSource 拷给strDestination
这里strSource 是输入型形参,strDestination是输出型形参.
void main()
{
char *strSrc = "abcd";
char strDes[10];
strcpy(strDes,strSrc);
//strDes未知,要通过调用函数后才能得到,strSrc已知,传递给函数使用.
}
3、看到一个函数的原型后,怎样可以看出哪个参数做输入哪个做输出?
函数传参如果传的是普通变量(不是指针)那肯定是输入型参数;如果传指针就有2种可能性了,为了区别,经常的做法是:如果这个参数是做输入的(通常做输入的在函数内部只需要读取这个参数而不会需要更改它)就在指针前面加const来修饰;如果函数形参是指针变量并且还没加const,那么就表示这个参数是用来做输出型参数的。