C++复合类型

本文详细介绍了C++中的复合类型,包括数组、字符串的使用,如C-风格字符串和String类,以及面向行的输入方法getline()和get()。文章还探讨了动态内存管理,如使用new和delete操作符分配和释放内存,以及动态数组的创建。此外,提到了结构、共用体、枚举和指针算术,以及C++中的数组替代品如vector和array模板类。
摘要由CSDN通过智能技术生成

数组

数组声明:
1.存储在每个元素中的值的类型;
2.数组名;
3.数组中的元素数
声明数组的通用格式如下:

typeName arrayName[arraySize];

表达式arraySize指定元素数目,他必须是整型常数(如10)或const值,也可以是常量表达式(如8*sizeof(int))

字符串

字符串是存储在内存的连续字节中的一系列字符。C++处理字符串的方式有两种。第一种来自C语言,常被称为C-风格字符串,还有一种基于string类库的方法。
字符串初始化的方式可以如下:

char bird[11]="Mr.Cheeps";

拼接字符串常量

#include <iostream>

using namespace std;

int main()
{
   
    cout << "I'd give my right arm to be" "a great violinist." << endl;
    cout << "I'd give my right arm to be a great violinist." << endl;
    cout << "I'd give my right ar"
            "m to be a great violinist." << endl;
    return 0;
}

运行结果如下:

I'd give my right arm to bea great violinist.
I'd give my right arm to be a great violinist.
I'd give my right arm to be a great violinist.

注意,拼接时不会在被连接的字符串之间添加空格,第二个字符串的第一个字符将紧跟在第一个字符串的最后一个字符(不考虑\0)后面。第一个字符串中的\0字符将被第二个字符串的第一个字符串取代。

每次读取一行字符串输入

这里介绍另一种字符串读取方法,istream中的类(如cin)提供了一些面向行的类成员函数:getline()get()

面向行的输入:getline()

getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。可以使用cin.getline()

#include <iostream>

using namespace std;

char name[20];

int main()
{
   
    cin.getline(name,20);
    cout << "name :" << name <<endl;

    return 0;
}

输出结果:

daihang
name :daihang

getline的第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。如果这个参数为20,则函数最多读取19个字符,最后一个存储需要自动在结尾处添加的空字符。

面向行的输入:get()

#include <iostream>
using namespace std;

char name1[20];
char name2[20];

int main()
{
   
    cin.get(name1,20);   //输入至name1
    cin.get();           //读取换行符
    cin
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六竹书生__wa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值