5)void万能指针

  1. 函数参数为空,定义函数时,可以使用void来修饰:int fun(void)
  2. 函数没有返回值:void fun(void)
  3. 不同定义void类型的普通变量:void a     //原因是,无法确定类型,不同类型分配空间不一样
  4. 可以定义void* 变量:  void* p:   //可以,32位时4个字节,64位时8个字节
  5. 数据类型的本质:固定内存块大小别名
  6. void* p  叫万能指针,函数返回值,函数的参数  这么写很灵活,要是返回值是void *p类型,可以用任何类型的指针接着,要是函数的参数是void*   ,那么传参时,可以传任何类型的指针类型

  如我们的  malloc函数     返回值就是void*   类型,

    要是  我想用一个char* 指针接着,就直接  (char *)malloc(4)

      要是,我想用一个int*指针接着,就直接(int*)malloc(4)

 

 

   加入我用  void *p时,一定要进行类型转化

      例如:

          void *p=0;

          char a【】=“abcd”;

          p=a;

      再次使用p的时候,我们得给他强行转化:  printf(”%s“,(char*)p);

         

posted @ 2017-12-09 13:13  小油菜1  阅读(320)  评论(0编辑  收藏  举报