• 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);

             

  • 相关阅读:
    POJ1417 True Liars
    POJ2912 Rochambeau
    POJ3904 Sky Code
    [SDOI2016]排列计数
    POJ2947 Widget Factory
    HDU5015 233 Matrix
    Problem 2242. -- [SDOI2011]计算器
    POJ2480 Longge's problem
    Problem 2818. -- Gcd
    LA3510 Pixel Shuffle
  • 原文地址:https://www.cnblogs.com/xiaoyoucai/p/8011247.html
Copyright © 2020-2023  润新知