如何分析C语言关键字中的void、const和return
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章将为大家详细讲解有关如何分析C语言关键字中的void、const和return,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。return首先我
千家信息网最后更新 2025年02月03日如何分析C语言关键字中的void、const和return
这篇文章将为大家详细讲解有关如何分析C语言关键字中的void、const和return,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
return
首先我们弄清楚c语言内存分配的方式
然后我们看一段代码:
#pragma warning(disable:4996)#includechar* string(){ char arr[] = "hello world"; return arr;}int main(){ char* s = string(); printf("%s", s); return 0;}
当运行到printf函数的时候,s指向的内容仍是"hello world",但为什么最后打印出来就是乱码了?
我们先看栈区中内存的分配
当string函数执行完时,它创造的栈帧就被销毁了,可这里的销毁并不是将其的数据清零,而是将其设置为可覆盖的数据
但为什么最后又乱码了呢?
那是因为printf也是一个函数,也要创造空间,所以将string所创造的栈帧给覆盖了
所以我们就完美地解释了为什么会乱码的原因
void
一.可做为函数的通用接口
例:
运用:char* s = (char*)malloc(sizeof(char));
原因:
void类型的指针可被任意类型的指针接受,也可以接受任意类型的指针
二.void不能修饰变量
原因:编译器不知道给变量分配多少空间
三.void修饰函数返回值
占位符,告知用户不用返回值
假如不加,默认是int类型的返回值
const
const修饰的变量不能直接被修改,但能通过指针
但是const仍有它的意义
1.让编译器提前告诉我们不该修改的变量被修改了
2.让看源码的童鞋知道这里不能被修改
关于如何分析C语言关键字中的void、const和return就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
函数
变量
指针
类型
语言
乱码
内容
原因
分配
关键
关键字
分析
内存
数据
文章
更多
知识
空间
篇文章
编译器
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器支持几个网络插口
广大d52g服务器
wcf 服务器配置
数据库应用软件开发
丽水高防服务器
软件开发 个人述职报告
福建通信管理局网络安全员
软件开发的数据类型是指
江苏新型网络技术维修电话
服务器工程师 初级高级
纵横杯网络安全竞赛初赛
软件开发的意思是什么
配资数据库
山东理工大学网络安全实验室
怎么查看数据库给哪些ip开权限
网络安全 kali
网络技术与通信工程考研
ae服务器选择
杨浦区专业软件开发产品介绍
泰思互联网科技中心
全国两会网络安全风险预警
不能在服务器制霸
三级网络技术真题下载
华东理工大学网络安全管理
联机服务器
天津戴尔服务器维修云服务器
服务器怎么装驱动
服务器端编程语言包括
计算机网络技术教案第三版
幻塔服务器闵雨岛