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\n", a[i]);
} return 0;
}

小结

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

08void的更多相关文章

随机推荐

  1. ios初级必看视频

    http://pan.baidu.com/share/link?shareid=3315997225&uk=4113970285

  2. 探索软件工程道路上的我II (Θ∀Θ#)

    ------作业要求------ 第一版本程序Prog1:+ 给定一个数组,实现数组元素求和:具体要求:实现对一维数组(a[100])的所有元素相加运算.+ 数据准备:a)数组长度:100:b)数组数 ...

  3. Win10/UWP新特性—Drag&Drop 拖出元素到其他App

    在以前的文章中,写过微软新特性Drag&Drop,当时可能由于处于Win10预览版,使用的VS也是预览版,只实现了从桌面拖拽文件到UWP App中,没能实现从UWP拖拽元素到Desktop A ...

  4. update the UI property cross thread

    this.Invoke((MethodInvoker)delegate { txtResult.Text = sbd.ToString(); // runs on UI thread });

  5. PAT (Advanced Level) Practise:1002. A+B for Polynomials

    [题目链接] This time, you are supposed to find A+B where A and B are two polynomials. Input Each input f ...

  6. DNS的查询流程

    我们可以通过一个命令了演示,同时进行抓包. 在OS X可以用dig命令进行查询追踪. dig @8.8.8.8 www.baidu.com 看看输出会是什么呢 ; <<>> D ...

  7. xmind的第十一天笔记

  8. WebAPI的Get和Post访问

    /// <summary> /// MVC 调用webapi接口返回框架快捷按钮和一级菜单(Get) /// </summary> /// <param name=&qu ...

  9. netezza 数据库 取 季初 季末 时间

    -- 取季初那一天 select date_trunc( 'quarter',cast('20150820' as date)) -- 取季末那一天 select add_months(date_tr ...

  10. linux vsftp配置

    1.rpm -q ftp 查看是否安装ftp服务器 2.yum install vsftp 安装ftp服务器 3.修改配置文件/etc/vsftpd 下面的 ftpusers和user_list,这两 ...