void是什么意思

知识
张雷老师 2019-07-17 16:56:36

C语言中void是什么意思?有人说是空,有人说是无返回数值。希望有高手能十分详细的说明,内容包括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是什么意思#

返回顶部

影响力:6080

JAVA里VOID是什么意思。

这个解答帮助过165人

java里, 使用void来描述方法没有返回值

比如 下面的方法,执行完毕后, 没有任何的返回值

public void printHello(){
    System.out.println("Hello World");//控制台输出Hello World
}

如果有返回值, 那么需要写返回值的类型,

比如,返回1个整数的结果,如下

public int add(int a,int b){//返回值类型 int
    return a+b;//返回 2个数的和
}

编辑时间 2019-01-13 12:17:37
影响力:1196

护照签证显示void是什么意思?我是三年多次往返签证,这是第一次入境。

这个解答帮助过2798人

首先,“新护照”可以继续享有“原护照”上的日本签证。

  • 但是,你必须到“日本入国管理局”办理将“旧护照”上的签证改贴到“新护照”上的手续。

  • 注意,在未完成上述手续之前,你只能拿着“新旧两本护照”办理日本出入国的安检。

  • 当办理完上述手续后,你“旧护照”上的签证将被盖章,表示失效,同时,你的“新护照”上将有一个和“旧护照”上同样内容的签证贴条。

  • 还要注意的是,在办理上述手续的时,还应同时办理“再入国”的新旧变更手续。也就是,你就护照上应该有“再入国许可”的贴条,这个贴条也需要转到新护照上,你才可凭“新护照”自由出入日本过境。

编辑时间 2019-05-20
影响力:4630

韩国护照被盖四个VOID和两个VOID是什么意思

描述: 韩国护照被盖四个VOID和两个VOID是什么意思... 韩国护照被盖四个VOID和两个VOID是什么意思
这个解答帮助过6171人

是一个销签代码,是指此次签证无效。

这种情况,一般限制入境不会被自动取消。时间也不是过了五年就没有了。可以再下次申请签证之前到领馆确认一下,是否还是在限制入境状态中,如果还是,取消限制入境状态后才可以再重新申请签证。

编辑时间 2019-03-18
影响力:917

C语言void*是什么意思

这个解答帮助过2167人

意思为没有类型的指针,用在函数前就是返回一个任意类型的指针,也算c语言比较难懂的一部分内容,,加油

编辑时间 2019-04-27
影响力:6970

c语言void什么意思

这个解答帮助过2176人

Bars bar = new Bars();
bar.setId(rs.getLong("id"));
bar.setName(rs.getString("name"));
bar.setType(rs.getInt("type"));
bar.setCreatorId(rs.getLong("creator_id"));
resultList.add(bar);
if (currentNum == skipEnd - 1)
break;
}

编辑时间 2019-02-24
影响力:6065

求教,js中,javascript:void(0)是什么意思?

这个解答帮助过1217人

在网站当中,通常会将a标签的href属性设置为"javascript:void(0)",目的是:创建一个超链接,但是,在点击链接时,既不能够跳转,也不会引起页面的刷新。
void 是 JavaScript 中的一个关键字,该操作符指定要计算一个表达式但是不返回值

编辑时间
影响力:761

void (*visit)(ElemType elem是什么意思?

这个解答帮助过2519人

这个是函数指针,通常是把函数的首地址传给他,然后用他来执行函数。

1、栈是一种限定只在表尾进行插入或删除操作,栈也是线性表 ,表头称为栈的底部,表尾称为栈的顶部,表为空称为空栈,栈又 称为后进先出的线性表,通常称往栈顶插入元素的操作为“入栈”,称删除栈顶元素的操作为“出栈”。

2、顺序栈的实现依靠数组,而数组需要事先声明长度,一次性地静态地分配内存空间。这样就给我们带来很多不便。因为我们事先并不能精确地估计栈所需的大小,估计大了浪费空间,估计小了后果就严重了,导致程序无法正常运行 。

链栈的数据存储结构如下:

typedef int ElemType;
typedef struct {
ElemType data;
ElemType *next;
}StackNode,*StackPoint;
typedef struct {
StackPoint top;//栈顶元素
int len;//栈长
} LinkStack;

编辑时间 2019-04-01