第四章 复合数据类型

本章介绍了复合数据类型,包括数组的声明、初始化和sizeof操作;详细讲解了C风格字符串的特性、字符串输入的方法,如cin和getline;探讨了C++ String类的优势,如自动调整长度和拼接操作;最后,提到了结构体的使用,如枚举类型spectrum。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、数组

(1)声明
*需要指定数组大小
(2)初始化

int a[3] = {1,2,3};
int a[] = {1,2,3};
int b[3]={0};
a = b;//not allowed

(3)sizeof
数组:返回数组字节数
数组元素:数组元素长度

2、字符串

(1)c风格字符串
本质:char数组,但以‘\0’结尾

char cat[5] = {'a', 'c', 'a', 't', '\0'};//空字符是必须的
char bird[11] = “Mr. Cheeps”;//空字符可以没有
char fish[]="Bubbles";//不指定数组大小

注意:若要指定数组大小,需要把空字符考虑进去

*strlen()返回字符串长度,不包括‘\0’
(2)字符串输入
1、cin读取字符串
*只能读一个单词这样
2、读取一行字符串
getline(name, length)
意义:读取整行,通过回车键来确定输入结尾
name:输入字符串数组名称
length:输入字符串最大长度

char name[20];
cin.getline(name, 20);
cout<<name<<".\n";

通过换行符来确定行尾,但是不保存换行符
get(name, length)
区别:将换行符保存在队列中,下一个字符串读取的时候以为已经到最后了,因此调用有点特别

//第一种方式
cin.get(name, ArSize);//read first line
cin.get();//read new line
cin.get(dessert, Arsize);//read second line
//第二种方式
cin.get(name, ArSize).get();
3、String
#include<string>

(1)区别
*string的长度自动调整
*可以用字符串数组的方式初始化string变量
*可以将一个string对象复制给另一个string对象
*可以进行拼接操作

string str3;
str3 = str1+str2;
str1+=str2;
5、结构
struct inflatable
{
    char name[20];
    float volume;
    double price;
};```

#### 6、enum 美剧

enum spectrum {red, orange, yellow, green, blue, violet, indigo, ultraviolet};

*red、orange、yellow作为符号常量,对应数值0~7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值