void

void修饰函数返回值和参数

如果函数没有返回值,那么应给将其声明为void
如果函数没有参数,应该声明其参数为void

不存在void类型的变量

void指针的意义

C语言规定只有相同类型的指针可以相互赋值
void* 指针作为作为左值用于“接收”任意类型的指针
void* 指针作为右值使用时需要进行强制类型转换

例子:void *实现MemSet

#include <stdio.h>

void MemSet(void* src, int length, unsigned char n)
{
    unsigned char* p = (unsigned char*)src;
    
    int i = 0;
    
    for(i=0; i<length; i++)
    {
        p[i] = n;
    }
}

int main()
{
    int a[5];
    int i = 0;
    
    MemSet(a, sizeof(a), 0);
    
    for(i=0; i<5; i++)
    {
        printf("%d
", a[i]);
    }
    
    return 0;
}

小结

void是一种抽象的数据类型
void类型不能用于定义变量
void类型用于声明函数无参数
void类型用于声明函数无返回值
可以定义void类型的指针
void* 类型的指针可以接受任意类型的指针值