第四章 数组与文字处理
❤2018.4.29
○ 数组
○ 指针与数组
○ 指针的算术运算
○ 指针的关系运算
○ 指针的取内容运算
当直针指向数组的首地址时,访问数组元素可以用直针加下标的形式。
数组名也可以用指针的取内容运算格式来得到数组的内容。
○ 动态内存分配
当不确定数组个数时,可以用new和delete来动态分配内存
单个变量和数组变量使用方法不同
所以这就解决了以前c语言里面声明数组时下标不能用变量的问题么
○ 一个例子
感觉还挺有用的可能吧
○ 字符类型
计算机为处理文字,需要将其转换为数值编码,这样文字处理问题就变成了数值计算问题。
○ 转义字符形式
○ 字符型运算
可以对字符型数据进行算术运算,运算时,将字符的ascii码值作为整数参与运算。
两个例子:
○ 字符数组与文字处理
用单引号括起来的单个字符成为字符常量,
用双引号括起来的字符序列成为字符串常量。
单个字符用双引号括起来会被当做字符串处理。
编译器会自动给字符串常量末尾加0为结束标记,其所占用的内存空间为字符个数+1。
○ 字符串中可以包含转义字符。
○ 字符数组
当用字符串初始化字符数组时,如果不指定数组个数,那么会有字符个数+1个数组元素。
○ 字符数组可以整体输入输出
♣当直针变量指向字符串数组时,使用输出语句不会输出内存地址,而是字符串内容。
如果需要显示地址,那么需要强制转化
○ 常用数组处理算法
○ 中文处理
因为字符集里的编码不能混用,所以中文和日文和韩文不能同时出现(ansi编码)
♣ 中文字符必须用双引号。
○ 判断中文字符
○ CPP使用utf16存储
♣ 加L是宽字符
一个栗子:
○ 宽字符的输入输出