C++基础复习心得2

  1. 关于数组:
    注意:

    • 可以用下面的表达式计算出数组A的长度:

      sizeof (A) / sizeof(int);

    • 若数组未进行初始化,静态数组的元素均初始化为0;在函数
      体内定义的动态数组,其元素没有初始化,为一个随机值:

      static int A[10]; //默认各元素的值为0
      int A[10]; //各元素的值为随机数

    • 数组必须先定义后使用,且只能逐个引用数组元素的值而不能一次
      引用整个数组全部元素的值。

    • 下标表达式可以是常量、变量、表达式,但必须是正整数,不允许
      为负。

    • 整个数组不允许进行赋值运算、算术运算等操作,只有元素
      才可以,例如:
      这里写图片描述

    • 数组作为函数的参数,传递的是数组的地址。
      a. 由于形参数组就是实参数组,所以在被调函数中使用形参就
      是在间接使用实参,这点与变量作为函数参数的情况是不同的。
      b. 既然形参数组就是实参数组,所以函数调用时不会为形参数组
      分配存储空间。
      c. 形参数组不过是用数组定义这样的形式来表明它是个数组,能够接收实参传来的地址,形参数组的长度说明也无实际作用。因此形参
      数组甚至可以不用给出长度。
      这里写图片描述
      d. 虽然实参数组将地址传到了被调函数中,但被调函数并不知
      道实参数组的具体长度,那么假定的大小对于实参数组来说容易数
      组越界。实际编程中可以采用以下方法来解决: 函数调用时再给出一个参数来表示实参数组的长度。
      求数组所有元素的平均值
      e.多维数组作为函数的参数,形参数组第1维可以与实参相同,
      也可以不相同;可以是任意长度,也可以不写长度;但其他维的长
      度需要相同:
      这里写图片描述

  2. 数组作为函数的参数:

    • 数组元素作为函数的参数
      a. 一维数组元素可以直接作为函数实参使用,其用法与变量相同。
      这里写图片描述

    • 整个数组作为函数的参数
      a. 数组作为函数的形参,基本形式为:
      这里写图片描述
      b.数组参数的传递机制
      这里写图片描述
      c. 如果实参使用数组名调用,本质上是将这个数组的首地址传递到形参中。
      d. 尽管数组数据很多,但它们均从一个首地址连续存放,这个首地址对应的正是数组名。
      这里写图片描述
      e. 数组实参a传的是数组首地址,形参A定义为数组形式,它现在的地
      址与实参数组a一样,则本质上形参数组A就是实参数组a(内存中
      两个对象所处位置相同,则它们实为同一个对象)。

  3. 字符串的处理:

    • 字符数组
      a. 用来存放字符型数据的数组称为字符数组,其元素是一个个的字符。

    • 字符串的概念
      a. C++语言规定字符串是以’\0’(ASCII值为0)字符作为结束符的字符数组。
      b. 在程序中可以通过判断数组元素是否为空字符来判断字符串是否结束,换言之,只要遇到数组元素是空字符,就表示字符串在此位置
      上结束。
      c. 字符串常量是字符串的常量形式,它是以一对双引号括起来的字符
      序列。
      这里写图片描述
      d. C++总是在编译时为字符串常量自动在其后增加一个空字符。
      这里写图片描述

  4. 字符串的输入和输出:
    a. 使用标准输入输出流,将整个字符串一次输入或输出。
    这里写图片描述
    b. 使用字符串输入输出函数
    这里写图片描述
    这里写图片描述

  5. 字符串处理函数

    • C++标准库提供了兼容C语言的字符串处理函数,其头文件为
      string.h。
      这里写图片描述
      这里写图片描述
      这里写图片描述
  6. 字符串对象
    这里写图片描述
    这里写图片描述

    • 字符串对象的定义和初始化
      a. 定义和初始化字符串对象,与变量的方法类似。如果string对象没
      有初始化则一律是空字符串。需要注意的是C++字符串对象不需要
      NULL字符结尾。
      这里写图片描述
      b. 字符串对象的引用
      这里写图片描述
    • 字符串对象的输入和输出
      a. 可以在输入输出语句中直接使用string对象来输入输出字符串
      这里写图片描述
    • 字符串对象与C风格字符串的转换
      这里写图片描述
  7. 字符串对象的操作
    string对象允许使用运算符进行操作,实现类似C风格字符串的处理。
    如复制(strcpy)、连接(strcat)、比较(strcmp)等。

    • 字符串赋值
      这里写图片描述
    • 字符串连接运算
      这里写图片描述
    • 字符串关系运算
      这里写图片描述
    • 其他操作
      这里写图片描述
      这里写图片描述
      这里写图片描述
  8. 字符串对象数组

    • 可以定义字符串对象数组,即数组元素是字符串对象,定义形式与
      数组类似
      这里写图片描述
      这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值