为什么函数要声明为void类型?

如题所述

void真正发挥的作用在于: (1) 对函数返回的限定; (2) 对函数参数的限定。

1、void的含义:

void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:

void a;

这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。

2、void的使用规则:

规则一:如果函数没有返回值,那么应声明为void类型

在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:
add ( int a, int b )
{
return a + b;
}
int main(int argc, char* argv[])
{
printf ( "2 + 3 = %d", add ( 2, 3) );
}

程序运行的结果为输出:2 + 3 = 5,这说明不加返回值说明的函数的确为int函数。 

规则二:如果函数无参数,那么应声明其参数为void。

在C++语言中声明一个这样的函数:

int function(void)

{

return 1;

}

则进行下面的调用是不合法的:

function(2);

因为在C++中,函数参数为void的意思是这个函数不接受任何参数。在Turbo C 2.0中编译:

#include "stdio.h"

fun()

{

return 1;

}

main()

{

printf("%d",fun(2));

getchar();

}

编译正确且输出1,这说明,在C语言中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。在C++中,不能向无参数的函数传送任何参数,出错提示“'fun' : function does not take 1 parameters”。

所以,无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void。

3、void具体使用例子:

定义函数
返回值 函数名(参数1,参数2,参数3,.......)
{内容}
int  sum(int a,int b)

int c;
return c;}

其中第一个int是返回值 就是别的函数调用此函数时这个函数给他的一个值。

如果调用时不需要返回值,则函数写为
void sum(int a,int b){....}  此时函数没有返回值
如果不需要参数  则int sum(void){...}
此时void的意义为空,就是没有参数的意思
如果都不要  则为void sum(void);

扩展资料:

void不能代表一个真实的变量。下面代码都企图让void代表一个真实的变量,因此都是错误的代码:

void a; //错误

function(void a); //错误

void体现了一种抽象,这个世界上的变量都是“有类型”。

void的出现只是为了一种抽象的需要,如果你正确地理解了面向对象中“抽象基类”的概念,也很容易理解void数据类型。正如不能给抽象基类定义一个实例,我们也不能定义一个void(让我们类比的称void为“抽象数据类型”)变量。

参考资料:void(计算机语言关键字)_百度百科

温馨提示:内容为网友见解,仅供参考
无其他回答

为什么函数要声明为void类型?
void真正发挥的作用在于: (1) 对函数返回的限定; (2) 对函数参数的限定。1、void的含义:void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;这行语...

为什么要声明void?
void 被翻译为"无类型",相应的void * 为"无类型指针"。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void 的作用 1.对函数返回的限定,这种情况我们比较常见。2.对函数参数的限定,这种情况也是比较常见的。一般我们常见的就是这两种情况:(1)当函数不需要返回值值时,...

函数无返回值类型为什么是void?
C语言程序中,若函数无返回值,则应该对函数说明的类型是void。如果函数所体现的计算不需要返回结果,则数据类型可以指定为void类型。注意,这种情况下在主调函数中调用该函数,该函数调用表达式不能被用作子表达式给其他变量赋值。void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向...

C语言中void是什么意思
在C语言中,void关键字发挥着独特的作用,主要体现在函数的返回值和参数规定上。首先,void被定义为“无类型”,它的返回值类型意味着函数不返回任何值,当函数设计为不需要返回值时,应将其声明为void类型。例如,像这样:void add(int a, int b); \/\/ 定义一个无返回值的函数 int main() { ...

C编程中void到底是什么意思啊?在什么情况下用这个?
因为void没有具体的类型,每次运算的字节数无法确定。在ANSI C标准中,对void指针的处理需要特别注意这一点。总的来说,void在C编程中是一个用于定义无类型行为的重要工具,理解和掌握其使用规则对于编写清晰、有效的代码至关重要。更多详细信息可以参考百度百科关于void的条目。

c语言中void是什么意思?
除了函数参数和返回值之外,void还可以在C语言的指针中使用。当声明一个指针变量时,如果不指定该指针变量所指向的数据类型,那么它就会被自动推断为指向void类型的指针。这样的指针变量通常被称为万能指针,因为它可以指向任何类型的数据。然而,由于无法对void类型进行解引用操作,因此在使用万能指针时需要...

C语言为什么要用void
这是C语言main函数的一种声明方式,该方式表明这个main函数不带参数,返回值。void常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。int main(void)还可以写为 void main()或者 int main()最后在mian()函数结束时,写return 0即可。

C编程中void到底是什么意思啊?在什么情况下用这个?
意思是“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void的作用:对函数返回的限定,这种情况我们比较常见。对函数参数的限定,这种情况也是比较常见的。一般常见的就是这两种情况:1、当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。例如...

void在函数中有哪些作用?
例如,main函数的常见写法就是void main(),在这种情况下,函数执行完毕后无需显式使用return语句,因为它本身就暗示了没有返回值。然而,如果函数返回类型被声明为其他类型,如int main(),那么在不写return语句时,编译器会发出警告,提示你可能有意或无意地忽略了返回值。这是因为系统期待一个明确的...

在C语言中为什么很多被调函数之前要加void?
void表示禁止有返回值 一个函数如果这样定义:f(int x)这说明没定义返回值,默认是可以返回int的,当然,如果f函数中没有return语句,那么会返回一个乱七八糟的整数,这样不利于编译器识别错误,比如说你有这样一个语句a=f(1)编译器就识别不出来错误的,仍然认为你是对的 但如果你写成void f(...

相似回答
大家正在搜