千家信息网

如何分析C语言关键字中的void、const和return

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章将为大家详细讲解有关如何分析C语言关键字中的void、const和return,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。return首先我
千家信息网最后更新 2024年09月21日如何分析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安全错误 数据库的锁怎样保障安全 论文软件开发哪家好 幼儿网络安全ppt模板 2019中国ipv6根服务器 owa服务器 石狮市企赋网络技术有限公司 dnf服务器怎么获得金币 网络安全宣传周启动仪式议程 苹果创建id服务器失败什么意思 处理数据库的技术 中山专业服务器散热器哪家便宜 中国银行服务器内蒙古 武汉商城app开发软件开发 速达财务软件数据库如何下载 网络安全如何做到定期维护 软件开发汇报方案 做外汇自动交易软件开发 网络技术与环境政策 方舟生存进化管理员压制服务器 婺源网络技术服务公司 特斯拉网络安全问题 解除计算机软件开发协议书 苹果创建id服务器失败什么意思 软件开发测试男友礼物 网络安全公司老板收入 网络安全工程师考试顺利头像 米10网络技术 易语言加载读写多个数据库 房山区学习网络技术 银行移动支付金额 数据库 软件开发方面党风廉政风险分析
    0