zoukankan      html  css  js  c++  java
  • 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);

             

  • 相关阅读:
    三种空格unicode(u00A0,u0020,u3000)表示的区别
    python调用C++之pybind11入门(相互调用)
    基于go手动写个转发代理服务
    git rebase VS git merge
    外挂
    C#本地修改器
    C# 人工智能开源库生物特征
    深层信念网络
    ASP.NET CORE(C#)与Spring Boot MVC(JAVA)
    Net UI Spy工具:ManagedSpy
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8011247.html
Copyright © 2011-2022 走看看