首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

void用途总结解决方案

2012-03-12 
void用途总结请求void的用途总结,因为有一些认识但不够系统,请求高手指点[解决办法]程序运行时代码和数据

void用途总结
请求void的用途总结,因为有一些认识但不够系统,请求高手指点

[解决办法]
程序运行时代码和数据都是在内存中的,内存的每个byte都用一个地址来编号,虽然编程时使用的是逻辑地址,但地址编号和物理地址还是一样的。 要执行一个函数,就要知道从内存的哪个地址开始执行,要取一个变量,就要知道这个变量放在内存的哪里。 指针就是用来表示它们的起始地址了。不管是int,double,float或其它类型的指针,指针的大小都是一个的,就是一个地址值,来指示所要取的数据的起始地址。不同类型指针的区别在于它所指向的内容的范围不一样。
比如:int *a;
double *b;
a,b都只是一个地址值,但a指向的内容是从地址a开始向后的四字节数据,而b却是从地址b开始的八字节数据。
如果你写成: void *c;
那就是没有类型的指针,它和a,b都一样,也是个地址,但是程序不知道它所指向的数据到底有几个字节了。所以使用c的内容时就要进行指针类型的转换。

[解决办法]
1.void的含义
  void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。
void真正发挥的作用在于:

  (1)对函数返回的限定;

  (2)对函数参数的限定。
2.void的使用
下面给出void关键字的使用规则:

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

  在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型
我们在编写C/C++程序时,对于任何函数都必须一个不漏地指定其类型。如果函数没有返回值,一定要声明为void类型。这既是程序良好可读性的需要,也是编程规范性的要求。另外,加上void类型声明后,也可以发挥代码的“自注释”作用。代码的“自注释”即代码能自己注释自己。
规则二:如果函数无参数,那么应声明其参数为void
规则三:小心使用void指针类型
  按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作
规则四:如果函数的参数可以是任意类型指针,那么应声明其参数为void
规则五:void不能代表一个真实的变量

void体现了一种抽象,这个世界上的变量都是“有类型”的,譬如一个人不是男人就是女人(还有人妖?)。
  void的出现只是为了一种抽象的需要,如果你正确地理解了面向对象中“抽象基类”的概念,也很容易理解void数据类型。正如不能给抽象基类定义一个实例,我们也不能定义一个void(让我们类比的称void为“抽象数据类型”)变量。


热点排行