void 类型总结

来源:互联网 发布:淘宝直播间申请 编辑:程序博客网 时间:2024/05/18 01:29
2011-04-27 11:14

void 类型总结

void 既可以修饰指针,也可以修饰函数返回值,还可以声明函数的参数

 

void指针类型

ANSI新标准增加了一种“void”指针类型,即可以定义一个指针变量,但不指定它是指向哪一种类型数据。

ANSI C使用类型void * (指向void的指针)代替char * 作为通用指针的类型。任何类型的指针都可以转换为void * 类型,并且在将它转换回原来的类型时不会丢失信息。指针可以被赋值为void * 类型的指针,也可以赋值给void * 类型的指针, 并且可以与void * 类型的指针进行比较

void 在参数列表中

ANSI C 语言对于如果先前没有声明过的一个名字出现在某个表达式中,并且其后紧跟一个左园括号,那么上下文就会认为该名字是一个函数名字,该函数的返回值将被假定为int型,但上下文不会对其参数作任何假设,并且 如果函数声明中不包含参数 ,如

double atof();

编译程序也不会对函数atof的参数作任何假设,而是把空参数列表看成老版本C语言的声明方式,并且对参数不再进行任何检查,为的是与老版本的C语言兼容,

在ANSI C中,如果要声明空参数表,则必须使用关键字void进行显示声明,这是提倡的

 

 

附录

空类型定义

空类型:在调用函数值时,通常应向调用者返回一个函数值。这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为:int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。又如在例题中,使用了库函数sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。所以在说明部分,把s说明为双精度浮点型。但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。其类型说明符为void。在后面函数中还要详细介绍。
在本章中,我们先介绍基本数据类型中的整型、浮点型和字符型。其余类型在以后各章中陆续介绍。


本文来自:http://hi.baidu.com/jdc0109/item/951c34330d1b94b3623affd3
原创粉丝点击