• 内存四区


    #include<stdio.h>


    //内存四区:栈区(变量),堆区,全局区(数据),代码区
    //主函数的P1和子函数的p1完全不同
    //指针指向谁就把谁的地址赋给指针
    //指针变量 和 他所指向的内存空间是两个不同的概念
    char * getStr1()
    {
    char *p1 = "abcdefg2";
    return p1;
    } //当函数运行完成就释放内存空间(在栈上分配内存)

    char *getStr2()
    {
    //char *p2 = "abcdefg22"; //数据不同,则分配不同的内存空间
    char *p2 = "abcdefg2"; //编译器把数据放在全局区,如果数据相同,内存空间合成一个
    return p2; //p2 参数压栈
    }

    int main(void)
    {
    char *p1 = NULL;
    char *p2 = NULL;
    p1 = getStr1();
    p2 = getStr2();


    //打印p1 p2所指向内存空间的数据
    printf("p1: %s, p2: %s ", p1, p2);


    //打印p1 p2 的值
    printf("p1: %d, p2: %d ", p1, p2); //数据相同,则地址相同。数据不同,则地址不同

    return 0;
    }

    欢迎加入作者的小圈子

    扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并,获取更多隐藏干货,QQ交流群:859800032 微信公众号:Crystal软件学堂

    作者:Liu_Jing
    bilibili视频教程地址:https://space.bilibili.com/5782182
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。
    如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。
    文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。
  • 相关阅读:
    vue-router总结2
    vue-router总结
    react中的路由模块化
    react路由嵌套
    Javascript设计模式之我见:迭代器模式
    Javascript设计模式之我见:观察者模式
    【C语言】格式符
    【编译原理】代码在编译器中的完整处理过程
    【数据库】增删改查操作
    测试
  • 原文地址:https://www.cnblogs.com/Liu-Jing/p/6625257.html
Copyright © 2020-2023  润新知