C++ PP chapter Ⅶ C++的编程模块

1.  参数(argument)    --> 实参
    参量(parameter)   --> 形参

2.  A[]  同样传递的是地址,可对原数组修改
         传递数组地址时,目标函数无法通过 sizeof (arrayName) 量长
         必须把长度一并传去 (或使用首尾地址法,传递首地址和尾地址的指针)

3.  可以用关键字 const 保护数组 //(constant)
    const 和指针:
        两种使用方式
            a. 让指针指向一个常量对象,防止使用该指针修改所指向的值
                    例如  const int *pt = &age;

            注意 const 变量的地址必须传给指向 const 的指针
                    例如  const float A = 0.1;
                          const float *pa = &A;  -->valid
                          float *pb = &A;        -->invalid     //之所以禁止的目的是防止通过普通指针修改const变量的值

                 在一级间接关系时可以将 非 const 指针的地址赋给 const 指针
                 但再深不行
                          int *p1 = &ans;
                          const int *pp2 = p1;

            b.将指针本身声明为常量,防止改变指针指向的位置
                    例如  int * const p = &age; 那么 p 所指向地址无法修改

4.  数组指针 和 指针数组

    int (*ar)[4] 等价于 ar[][4] 表示指向4int组成的数组的指针

    若对二维数组首地址声明为指针 (*ar)[x] ( 或ar[][x] )
    那么对于二维数组元素的指针表达  ar[y][x] = *((*ar+y)+x)

5.  对结构体处理的函数
        三种传递方式 : 按值传递、传递结构的地址、引用

        按值传递是对副本的操作,使用 . 号成员访问法
        地址传递使用成员的指针访问 ->

6.  函数与string对象
    string 对象可以直接按值传递
    string 的数组声明 :
            string List[Size]
            整行读取方法 getline(cin,List[i])
            函数传递 string sa[]

7.  函数与array对象
    例如 :
        std::array<double, 4> expenses;
        对于函数 void Show(std::array<double ,4> da);  按值传递 Show(expenses)
        对于函数 void Fill(std::array<double ,4> *pa); 传递地址 Fill(&expenses)
    要注意的是对于array对象可以使用坐标读取法 (*pa)[i]
                                --------------pa是指针,*pa是array首地址,(*pa)[i] 便为实际空间

8.  函数指针

    函数的指针是存储其机器代码的内存的开始地址(就是函数名本身)[C++ P笔记中会补充这一知识点,暂且跳过]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值