EDN首页   博客首页

日志档案

发表于 2008-4-30 10:37:36

1

标签: void  *  

void 的使用总结

         "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();

             }                                                                               }

系统分类: 嵌入式   |   用户分类: C语言   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(501)    回复(3)  

投一票您将和博主都有获奖机会!

最新评论