您的位置:控制工程论坛网论坛 » 嵌入式系统 » void 的使用总结

zhiy66

zhiy66   |   当前状态:在线

总积分:6528  2024年可用积分:0

注册时间: 2007-12-18

最后登录时间: 2012-01-11

空间 发短消息加为好友

void 的使用总结

zhiy66  发表于 2008/10/13 20:32:00      446 查看 0 回复  [上一主题]  [下一主题]

手机阅读

"void"在C语言中是一个常见的类型。总结起来有以下几点:

1:如果函数没有返回值,应声明为“void"类型。

2:如果函数没有参数,参数应声明为”void";

3:"void *"指针类型在ANSI中不允许算法操作,比如不能自增等。

4:如果函数的参数和返回值可以是任意类型的指针,应分别声明为“void *",比如:

     void *memcpy(void *dest,const void *stc,size_t len);

     void *memset(void *buffer,intc,size_t num);

5:void *运算规则:

                     1)任意类型的指针都可以直接赋值给"void *"     

                     2)"void *"不能随便赋值给其他不同类型的指针,需转换成"void *"类型

   比如:void *p1;                              void *p1;

               int *p2;                                 int *p2;

                p1=p1;                                p2 = p1;    其中蓝色的是对的,而紫色就是错的。

6:对于"void *"类型的函数的特别说明,一般情况下,如果用"void"定义一个函数,则说明该函数没有返回值,可"void *"定义的函数不是表示没有返回值,而是表示返回一个"void *"类型的指针。

  比如:void *SysInit();                                                         main()

             {                                                                              {

                          函数体;                                                               void * p1;

                         --------;                                                                   p1 =  SysInit();

             }         

1楼 0 0 回复