08void
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的更多相关文章
随机推荐
- linux命令:du
1.命令介绍: du用来查看文件和目录的使用空间. 2.命令格式: du [选项] 文件 3.命令参数: -a或-all 显示目录中个别文件的大小. -b或-bytes 显示目录或文件大小时,以b ...
- 继续向peersim的event-driven模式开火!(新手勿喷)
昨天学习了peersim的cycle模式,今天开始继续悟事件模式. 总的来说,我个人认为事件模式是周期模式的升级版,或者说,周期模式只是事件模式的一个子功能. 事件模式是基于时间和事件的(没打错),每 ...
- git 较基础命令
还需要进一步了解git的组织形式: git clone *.git 下载下来以git方式管理 如果直接下载压缩包做不到 git branch 分支相关命令 git checkout 可以换分支 git ...
- Caffe 源碼閱讀(六) data_layer.cpp
>>>>>>>>>>>>>>>>>>>>>>>>> ...
- <转>思考力是万力之源
做任何事情,要懂得积累和总结 每天进步一点点,一年365天下来就不得了 来自为知笔记(Wiz)
- Newtonsoft.Json 处理多态类型的反序列化
Newtonsoft.Json的序列化和反序列化很成熟也很好用, 最近在处理多态类型的反序列化中遇到了问题, 反序列化后只能到基类,而得不到也不能转换到子类.从网上查询了一番后,需要写一个创建类型的C ...
- eclipse中jre system library ,web app libraries,referenced libraries,user libraries
在eclipse ide中进行开发时,为了方面jar的管理用了user libraries,但是遇到了一些问题,对于其中jre system library ,web app libraries,re ...
- Python 基礎 - 字符串常用操作
字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ...
- Android之ListView&ViewPager模拟新闻界面
模拟新闻 APP 的界面 1)写 ListView 之前先写布局: 这里有两种 Item 的布局: <?xml version="1.0" encoding="ut ...
- sudo add-apt-repository no found解决方法
sudo apt-get install python-software-propertiessudo apt-get install software-properties-common