bokee.net

大学生博客

正文 更多文章

void及void指针类型


void真正发挥的作用在于:
 (1) 对函数返回的限定;
   (2) 对函数参数的限定。
 
有类型可赋值于无类型。
但无类型不可赋值于有类型。
ps:
 void *i;
 int   *p;
 i=p; //正确
 p=i; //错误
        
规则一 如果函数没有返回值,那么应声明为void类型
 在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。
规则二如果函数无参数,那么应声明其参数为void
 int function(void)
 在C语言中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。
 因为在C++中,函数参数为void的意思是这个函数不接受任何参数。

规则三 小心使用void 指针类型
 不能对void指针进行算法操作,即下列操作都是不合法的:
 void * pvoid;
 pvoid++; //ANSI:错误
 pvoid += 1; //ANSI:错误
 //ANSI标准之所以这样认定,是因为它坚持:进行算法操作的指针必须是确定知道其指向数据类型大小的。

规则四如果函数的参数可以是任意类型指针,那么应声明其参数为 void *
 这个就不说了,好处大的有。试试就知道了!
规则五 void不能代表一个真实的变量
 能改一下真实的变量?不能。


分享到:

上一篇:Flash调用HTML

下一篇:用C语言实现Ping程序功能