• code of C/C++ (1)


    去年,王老师拷贝给我一些代码,非常感激,老爷子的水平我这个小辈只能仰视,代码都是来自他所教的课程,有些课程因为这几年据说太难都给取消掉了,实在是 我们学校的损失。

    C/C++代码都是在讲述一些非常基本的知识,为了不至于让这些美好的代码失传,我选择一些给我这个“编程幼儿”启发的代码放到这里,这个系列会从C++延伸到C 系语言在具体领域的应用,知识点的注释是我写的,待商榷的说法欢迎大家发表 意见+参考资料 来讨论。

    //引用是给某一个变量去了一个“外号”,对它操作与对原变量的操作具有同样的效果;
    //引用 类型的变量 给它赋值 变量拥有相同的地址;
    //函数调用的过程中,参数和局部变量会被放入栈中,所以同样的变量放入函数调用中-
    //会有不同的地址值
    
    #include    <iostream>
    
    using    namespace    std;
    
    //void  func(int &, int);
    void  funr(const int &, int);
    int&  rfun(const int &, int);
    
    void  main(void)  {
        int a = 100;
        int & b = a;
        const  int& c = 20;
    
        const int & ca = a;
    
        a = 200;
        //    ca=200;
        // b= 200;
        const int cb = 300;
    
        //    func(cb, a);
    
        //    int & bb=cb;
        //    cb=400;
        //    bb=400;
    
        cout << &a << "  " << a << endl;     //&a == &b,character of & (引用的特性)
        cout << &b << "  " << b << endl;
        cout << &c << "  " << c << endl;
    
        funr(a, a);             
        funr(2, 2);
    
        int& rf = rfun(c, c);
        cout << &rf << "  " << rf << endl;
    
    }
    
    void  funr(const int &  ra, int  pa)    {  //call funr,ra,pa puted in the stack.So they have-
        cout << &ra << "  " << ra << endl;     //different address.
        cout << &pa << "  " << pa << endl;
    }
    
    int&  rfun(const int &  ra, int  pa)    {
    
        int  x = 200, &d = x;
        return  (int&)ra;
        //    return  (int&)pa;    //  warning
        //    cout<<&d<<"  "<<d<<endl;
        //    return  d;            //  warning
    }


     

  • 相关阅读:
    C语言写的trim()函数
    TCP/IP和Socket的关系
    sizeof(数组名)和sizeof(指针)
    字符数组和结束符/0之间的关系
    C语言中二维字符数组的定义和初始化
    异步套接字基础:select函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
    do{...}while(0)的意义和用法
    Mirror--如何在主库上增加文件
    曲苑杂坛--收缩数据库文件
    常用脚本--SQL Server获取OS日志
  • 原文地址:https://www.cnblogs.com/hanxinle/p/4833593.html
Copyright © 2020-2023  润新知