c语言 函数原型!!
什么叫函数原型??如charGet(inti)这函数原型怎么理解??什么意思??什么时候要用函数原型??...
什么叫函数原型??如char Get(int i)这函数原型怎么理解??什么意思??什么时候要用函数原型??
展开
3个回答
展开全部
函数原型:
函数原型能告诉编译程序一个函数将接受什么样的参数,将返回什么样的返回值,这样编译程序就能检查对函数的调用是否正确,是否存在错误的类型转换。例如,现有以下函数原型;
int some_func(int,char·,long);
编译程序就会检查所有对该函数的引用(包括该函数的定义)是否使用了三个参数并且返回一个int类型的值。如果编译程序发现函数的调用或定义与函数原型不匹配,编译程序就会报告出错或警告消息。例如,对上述函数原型来说,当编译程序检查以下语句时,就会报告出错或警告消息:
x = some_func(l); /* not enough arguments passed */
x = somc_funcC*HELLOl", 1, "DUDE:"); /* wrong type of arguments used */
x = aome_funcd, sir, 2879, "T"); /* too many arguments passed */
下例中的函数调用同样是不正确的,因为函数some_func()的返回值不是一个long*类型的值。
lValue=some_func(1,str,2879); /*some_rune()returns anint,not a long* */
同样,编译程序还能检查函数的定义(或函数体)是否与函数原型匹配。例如,当编译程序检查以下函数定义时,就会报告出错或警告消息:
int some_func(char *string,longlValue,int iValue) /* wrong order Of
{ parameters */
......
}
总之,在源文件中说明函数原型提供了一种检查函数是否被正确引用的机制。目前许多流行的编译程序都会检查被引用的函数的原型是否已在源文件中说明过,如果没有,就会发出警告消息。
函数原型能告诉编译程序一个函数将接受什么样的参数,将返回什么样的返回值,这样编译程序就能检查对函数的调用是否正确,是否存在错误的类型转换。例如,现有以下函数原型;
int some_func(int,char·,long);
编译程序就会检查所有对该函数的引用(包括该函数的定义)是否使用了三个参数并且返回一个int类型的值。如果编译程序发现函数的调用或定义与函数原型不匹配,编译程序就会报告出错或警告消息。例如,对上述函数原型来说,当编译程序检查以下语句时,就会报告出错或警告消息:
x = some_func(l); /* not enough arguments passed */
x = somc_funcC*HELLOl", 1, "DUDE:"); /* wrong type of arguments used */
x = aome_funcd, sir, 2879, "T"); /* too many arguments passed */
下例中的函数调用同样是不正确的,因为函数some_func()的返回值不是一个long*类型的值。
lValue=some_func(1,str,2879); /*some_rune()returns anint,not a long* */
同样,编译程序还能检查函数的定义(或函数体)是否与函数原型匹配。例如,当编译程序检查以下函数定义时,就会报告出错或警告消息:
int some_func(char *string,longlValue,int iValue) /* wrong order Of
{ parameters */
......
}
总之,在源文件中说明函数原型提供了一种检查函数是否被正确引用的机制。目前许多流行的编译程序都会检查被引用的函数的原型是否已在源文件中说明过,如果没有,就会发出警告消息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数原型就是使用一个函数前,对一个函数的预先的一个声明,说明下面要用到这样一个函数。函数原型一般由函数名、参数表、返回值类型组成。
函数原型不是必需的。如果你对这个函数的完整定义出现在使用这个函数之前,就不需要函数原型了。
char Get(int i)这样一个函数在使用时,就像这样调用:
c=Get(a);
其中a是预先定义好的一个int,然后函数执行时,a的值就是Get函数中的i,Get函数中return的值,就赋值给主调函数里的c
函数原型不是必需的。如果你对这个函数的完整定义出现在使用这个函数之前,就不需要函数原型了。
char Get(int i)这样一个函数在使用时,就像这样调用:
c=Get(a);
其中a是预先定义好的一个int,然后函数执行时,a的值就是Get函数中的i,Get函数中return的值,就赋值给主调函数里的c
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询