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. Palindrome Pairs -- LeetCode 336

    Given a list of unique words. Find all pairs of distinct indices (i, j) in the given list, so that t ...

  2. Xml 序列化

    1 XML序列化只能序列化对象的公有属性,并且要求对象有一个无参的构造方法,否者无法反序列化. 2 [Serializable]和[NonSerialized]特性对XML序列化无效!所以使用XML序 ...

  3. strip_tags() 函数

    定义和用法 strip_tags() 函数剥去 HTML.XML 以及 PHP 的标签. 语法 strip_tags(string,allow) 参数 描述 string 必需.规定要检查的字符串. ...

  4. [GodLove]Wine93 Tarining Round #10

    比赛链接: http://www.bnuoj.com/v3/contest_show.php?cid=4159 题目来源: lrj训练指南---几何算法 Flag ID Title   A Board ...

  5. JavaScript和Java之间的关系

    今天来简单而又详细地说说JavaScript和Java的关系. 开门见山总结性一句话,它们之间的关系 = 雷锋和雷峰塔之间的关系,换句话说:它们之间没什么关系. 但往往有不少初学者甚至中级者认为它们之 ...

  6. 第二章 搭建Android开发环境--读书笔记

    俗话说,工欲善其事,必先利其器,对于Android驱动开发来说,首先我们要做的就是搭建Android开发环境,我们首先要配置Linux驱动的开发环境,接着还得配置开发Android应用程序以及Andr ...

  7. Neo4j批量插入(Batch Insertion)

    新建一个maven工程,这里不赘述如何新建maven工程. 添加Neo4j jar到你的工程 有两种方式: 上网站官网下载jar包,根据自己的系统下载不同的压缩包,详细过程不描述,请自行搜索其他博客 ...

  8. java中的日期操作Calendar和Date

    1. Calendar转Date Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); 2. Date ...

  9. setTimeout的应用

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 初学HTML5、初入前端

    学习HTML5是一个漫长的过程,当中会遇到很多技术与心态上的变化.刚开始学习,我们不能发力过猛,需要一个相对稳定的状态去面对.多关注一些自己感兴趣的网站和技术知识,建立自己的信心与好奇心,为以后的学习 ...