



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、summary 1) 一般工程发中需要禁用goto 语句,不同的编译器对goto 语句的处理可能不同。2)在 c 语言中,如果函数没写返回值,则默认返回值类型int ;如果函数没有写参数列表,则函数接受任意数量的参数。因此,如果函数没有返回值,必须显式声明返回值类型为void ;如果函数没有参数,则必须声明参数列表为void 。3)void 一种基础类型,但不基础数据类型,所以无法用来定义变量(c语言没规定 void 多内存空间的别名)。4)对于标准 c 语言规范,不允许sizeof(void) 这种写法,如 bcc 编译器;对于扩展 c 语言,可能允许 sizeof(void) 这种写法,如
2、 gcc 编译器,输出为 1。5)void* 指针的主要作用:用于接收任意类型的指针。在c 语言中, void* 和type*可以相互转换;在c+中,void* 可以作为左值接收任意类型的指针,作为右值时,必须进行强制类型转换。goto 和 void 1、goto goto 语句带有很浓厚的汇编语言特性,能够跳转到指定的语句,如同汇编语言的跳转指令。在工程实践中,一般都禁用“goto”。goto 会破坏程序的结构,带来意想不到的。/ 代码示例:以下代码输出什么?int main() goto end; int i = 0; end: printf(i = %dn, i); return 0;
3、gcc 编译器:编译 error ,提示 i 变量的初始化被跳过了。vs 编译器:编译警告warning ,提示 i 未初始化,但编出了可执行程序。运行的结果随机值,意料之外的!2、void 2.1 void 修饰返回值和参数在 c 语言中:如果函数没有返回值,那么应该将其声明为void 如果函数没有参数,应该声明其参数为void 注意, c语言中:如果函数没写返回值,默认的返回值类型int 如果函数没有声明参数列表,默认接受任意多参数f() int main() int i = f(1, 2, 3); / ok return 0; 2.2 否存在 void 类型的变量?结论:不存在 void
4、 类型的变量void 一种基础类型,但不基础数据类型;c语言中没有定义void 究竟多内存的别名,所以也无法定义对应的变量。int main() void var; / error void arr5; / error return 0; 小贴士 : ansi c :标准 c 语言规范,如 bcc 编译器扩展 c:在 ansi c的基础上进行了扩展,如gcc 编译器/ void类型有小么?int main() prinft(%dn, sizeof(void); return 0; gcc 编译器, demo 可以编过,输出为1 bcc 编译器,编译,提示void 不允许的类型。2.3 void
5、 类型的指针在 c 语言中,对指针类型的检查不那么严格,所以void 类型的指针可以和任意数据类型的指针进行相互转换。/ test.c int main() int* p = nullptr; void* pv = p; / ok char* pc = pv; / ok return 0; 在 c+语言中,对类型进行了增强,同事也兼容了c语言中的写法。 void 可以作为左值接受任意类型的指针,但,void 作为右值时,就必须进行强制类型转换。/ test.cpp int main() void* pv = nullptr; / 初始化个好习惯 int* pi = pv; / error, invalid conversion from void* to int* int* pi = (int*)pv; / ok, due to cast return 0; 总结: void* 指针的主要作用,用于接收任意类型的指针。示例 demo:将数组所占内存全部置0 void memset(void* src, int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- xx片区城乡供水一体化项目工程建设方案(范文参考)
- 2025年肥料级磷酸氢钙项目合作计划书
- 2025年陶瓷制零件相关陶瓷制品项目发展计划
- 市政污水管网改造项目建议书(模板范文)
- 电网侧独立储能示范项目规划设计方案
- 2025年高收缩腈纶项目合作计划书
- 乡村治理的社会基础阅读随笔
- 小红书:遛遛生活5.0招商方案-春天花花联欢会
- 2025年抗麻风病药合作协议书
- 2025年地铁隧道二维位移自动监测系统项目合作计划书
- 统编版高中政治必修三《政治与法治》期末复习:选择题刷题练习题(含答案解析)
- 2025-2030年中国线缆设备行业市场现状供需分析及投资评估规划分析研究报告
- 儿童情商课件
- 2025年湖北荆门市交通旅游投资集团有限公司招聘笔试参考题库含答案解析
- 食品产品溯源管理制度
- 2024年辽阳职业技术学院单招职业倾向性测试题库附答案
- 护士思想政治教育
- 陕投集团招聘真题2024
- 国家开放大学汉语言文学本科《古代诗歌散文专题》期末纸质考试第三大题简答题库2025春期版
- 社交媒体在职场人际关系构建中的作用与应用研究
- 中国常规肺功能检查基层指南(2024年)
评论
0/150
提交评论