c

您所在的位置:网站首页 函数定义中没有对参数指定类型的判断 c

c

2024-07-13 10:47:53| 来源: 网络整理| 查看: 265

快速回答:更改int testlib()为int testlib(void)指定该函数不带参数。

根据定义,原型是指定函数参数类型的函数声明。

非原型函数声明,如

int foo();

是一种旧式声明,未指定参数的数量或类型。(在 1989 年 ANSI C 标准之前,这是该语言中唯一可用的函数声明。)您可以使用任意数量的参数调用这样的函数,编译器不需要抱怨——但如果调用与定义不一致,您的程序具有未定义的行为。

对于接受一个或多个参数的函数,您可以在声明中指定每个参数的类型:

int bar(int x, double y);

没有参数的函数是一种特殊情况。从逻辑上讲,空括号是指定函数不带参数的好方法,但该语法已经用于旧式函数声明,因此 ANSI C 委员会使用void关键字发明了一种新语法:

int foo(void); /* foo takes no arguments */

函数定义(包括函数实际执行的代码)也提供声明。在你的情况下,你有类似的东西:

int testlib() { /* code that implements testlib */ }

这为testlib. 作为定义,这告诉编译器testlib没有参数,但作为声明,它只告诉编译器testlib接受一些未指定但固定数量和类型的参数。

如果更改()为(void)声明就变成了原型。

原型的优点是如果你不小心testlib用一个或多个参数调用,编译器会诊断错误。

(C++ 的规则略有不同。C++ 没有旧式函数声明,空括号特别表示函数不带参数。C++ 支持(void)与 C 保持一致的语法。但除非您特别需要将代码编译为C 和 C++ 一样,您可能应该使用()C++ 中的 和 C 中的(void)语法。)



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭