第5章 数组与字符串

 

5 数组与字符串

5.1数组array

5.1.1数组的概念

语法

类型 数组名[];

类型 数组名[元素个数];

 

不能定义长度为0的数组,即[]里不能是0

 

5.1.2内存中的数组

获得数组的尺寸(即元素的个数)

int n = sizeof(a)/sizeof(int)

 

5.1.3数组的初始化

初始化时,右值由{}括起一组初始值列表

规则:定义数组时,如元素个数为空(没有指定),必须要同时进行初始化,否则编译错误。

初始值的元素个数不能多余数组尺寸

double record[5] = {80,95,85,88};  //ok

当初始值的元素个数少于数组尺寸时,未覆盖到的数值将被初始化为0

初始化的形势不能用于数组的赋值(只能在初始化中使用)

double record[5] ;

record= {80,95,85,88};  //error

 

5.1.4数组元素的访问

可以用[]来访问数组中每个元素

double a = record[0];

注意,数组的下标都是从0开始的

 

5.1.5安全使用数组下标

不要使用数组尺寸之外的下标访问元素,编译器不会报错!

 

5.1.6多维数组p83

如:double record[4][5];

 

5.2字符串string

分为2类:stdstring

5.2.1传统的字符串

字符串可以储存在字符数组中

char message[] = “bluejoe

注意 c++会在每个字符串常量末尾补充一个“/0,以表示该字符串结束。

5.2.2安全使用字符串P86

5.2.3 std::sring

要想使用string类,不必须包含<string>头,如#include<string>

可以直接用“+”将字符串传接起来

cout<<s1+”,”+s2+”!”<<endl;

针对string对象s,有如下常见操作

 

s.length()          返回字符串长度,即字符个数。

s.empty()          判断字符串是否为空串

s.at(i)                 返回字符串第i个字符

s[i]                      返回字符串第i的字符,通at[i]

s.substr(int i,int j)             获取字符串从ij之间的字串

 

注意,获取string对象长度要使用s.length(),而不是sizeofsizeof返回的是string对象的存储空间,不一定等于字符数目。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值