c语言中,void的意思是“无类型”,相应的“void *”为无类型指针,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,其作用是对函数返回和参数的进行限定。

c语言中,void的意思是“无类型”,相应的“void *”为无类型指针,常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明,其作用是对函数返回和参数的进行限定。

void

void最常见的用法,就是在函数中限定函数的参数和返回值的 void draw(void); 表明函数draw没有参数也没有返回值,void在别的的地方的应用我也没见过;

实际上,如果把void 和int,char,double等类型放到一起理解的话,首先还是那句揭示本质的话:变量类型就是固定大小内存块的别名,那么void占用多大内存呢,编译器并没有定义void占用多大内存,所以对于void var; 这样的定义,编译器自然是不允许的,在vs中的错误提示是:不允许使用不完整的类型。

void*

相比于void,void *就更加有意义一些。void *是一个指针类型,指针变量都占4byte内存(4byte=32 bit=2^32=4G,所以4byte就足以指向任何的内存地址了),所以对于void *p=NULL; 这样的定义,编译器可以为p分配内存,那么,如此定义的p有什么作用呢?int *a=NULL;

p=a;

double *b=NULL;

p=b;

char c[16]={0};

p=c;

void* 就像一张白纸,任何类型的指针都可以直接赋值给void *类型的指针;

但是反过来int *a=NULL;

a=p;//err

a=(int *)p;//需要强制类型转换

这样转过来转过去有何意义?

典型应用

一void * memcpy(void *dest, const void *src, size_t len);

void * memset ( void * buffer, int c, size_t num );

memcpy和memset对外接收任何类型的指针,这样是合理并且必要的,因为这是内存操作函数,是对bit进行操作的,考虑数据类型是没有任何意义的(越触及本质,越抽象,也越有包容性)。

二int *a=NULL;

a=(int *)malloc(sizeof(int));

同样的,malloc函数只关注你要多大的内存,你需要把它怎么划分是你的事情,但是你需要显式的表明你是怎么划分的。这里语法要求是必须的,void *类型转为其他类型必须强制类型转换。

想要了解web开发知识,请查阅 HTML中文网 !!

c语言编程void什么意思,c语言中void啥意思?相关推荐

  1. c语言里void什么作用,c语言中void的含义是什么?如何使用?

    c语言中void的含义是什么?如何使用? 发布时间:2020-04-26 14:08:27 来源:亿速云 阅读:416 作者:小新 c语言中void的含义是什么?如何使用?相信有很多人都不太了解,今天 ...

  2. c语言里void什么作用,C语言中void是什么意思?

    C语言中void是什么意思? C语言中"void"表示为无类型,相应的"void *"为无类型指针,常用在程序编写中对定义函数的参数类型.返回值.函数中指针类型 ...

  3. 在c语言中void是什么,C语言中void是什么意义?_后端开发

    C言语中void是什么意义? C言语中"void"示意为无范例,响应的"void *"为无范例指针,常用在程序编写中对定义函数的参数范例.返回值.函数中指针范例 ...

  4. c语言中void指针,C 语言 void指针

    C 语言 void指针 到目前为止,我们已经研究了分配给指针的地址应该与指针声明中指定的类型相同. 例如,如果我们声明了int指针,则此int指针不能指向float变量或某种其他类型的变量,即它只能指 ...

  5. c语言void结尾,C语言中void*详解及应用

    void在英文中作为名词的解释为"空虚:空间:空隙":而在C语言中,void被翻译为"无类型",相应的void *为"无类型指针".void ...

  6. C语言中void具体有什么作用

    1.概述   许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并 详述void及void指针类型的使用方法与技巧 ...

  7. c语言中void和void*类型

    1.void的作用 c语言中,void为"不确定类型",不可以用void来声明变量.如:void a = 10:如果出现这样语句编译器会报错:variable or field ' ...

  8. c语言中void函数,c语言中void的用法

    c语言中void的用法的用法你知道吗?下面小编就跟你们详细介绍下c语言中void的用法的用法,希望对你们有用. c语言中void的用法的用法如下: void指针是什么? void指针一般被称为通用指针 ...

  9. 单片机c语言中void key(void),STC单片机C语言通用万能编程模板

    <STC单片机C语言通用万能编程模板>由会员分享,可在线阅读,更多相关<STC单片机C语言通用万能编程模板(23页珍藏版)>请在人人文库网上搜索. 1.8051 单片机 C 语 ...

  10. c语言中void delay0.5(),第5章补充 单片机C语言基础.ppt

    第5章补充 单片机C语言基础.ppt 2.中断函数举例 例4-16 本例程序电路图可参考图4-1.下面的程序的功能是:对外部中断1中断次数计数,并送P0口显示. #include unsigned c ...

最新文章

  1. hdu 5100 n*n棋盘放k*1长方条最多覆盖面积
  2. Nacos源码NacosAutoServiceRegistration
  3. leetcode 767. Reorganize String | 767. 重构字符串(贪心+分桶+26路归并)
  4. Y_CLIENT_QHD_504 role in GM6 ZSAP_CRM_BCR_SALESREP_DAIDE
  5. FreeEIM通讯软件平均需要5分钟才能
  6. ap.net core 教程(三)
  7. 虚拟主机搬迁服务器要重新备案吗,域名更换虚拟主机要重新备案吗
  8. 浏览器渲染机制面试_面试 09-01.浏览器渲染机制
  9. 第5章分布式系统模式 Broker(代理程序)
  10. 2008下mysql补丁_windows Server 2008 R2安装Mysql 8的打补丁顺序
  11. 情人节,教你用Python定时给小姐姐微信发送专属问候!
  12. 20140419-MCSA 2012 Server R2 Command
  13. VMware ESXi 安装
  14. Syzmlw 蜗居大结局f
  15. 格式化移动硬盘或者U盘,并设置为NTFS格式
  16. 中英文在线翻译的方法
  17. 联想领像L100D黑白激光打印机 评测
  18. ceil — 进一法取整 4.1 = 5 5.9 = 6 取小数点两位
  19. ASP.NET中防止Access数据库下载
  20. 图像处理保研面试_研究生保研面试的简历

热门文章

  1. SaaSpace:11 款最佳免费备份软件工具
  2. Android应用商店——项目介绍
  3. win10去掉快捷方式小箭头_快捷方式小箭头很烦人 一招教你取消
  4. 纯新手Java奋斗500天进腾讯,我给自己先来碗毒鸡汤
  5. IDEA使用/配置指南(从入门到精通)_by瞎琢磨先生
  6. Linux如何打开U盘
  7. NOI题解(1.1编程基础之输入输出)
  8. 支付宝转账提现相关问题
  9. 经验:中小微企业网站上云怎样选择适合自己的云虚拟主机?
  10. 【Leetcode刷题Python】1467. 两个盒子中球的颜色数相同的概率