C++之数组和字符串

在C++中,数组和字符串是存储和操作数据的两种基本方式。下面我将分别介绍数组和字符串的基本概念和使用。

数组

一维数组

一维数组是最简单的数组形式,它存储相同类型的元素。声明一维数组的语法如下:

复制代码
type arrayName[arraySize];

例如,声明一个包含10个整数的数组:

复制代码
int numbers[10];
多维数组

多维数组可以看作是数组的数组。二维数组的声明语法如下:

复制代码
type arrayName[rowSize][columnSize];

例如,声明一个2x3的整数数组:

复制代码
int matrix[2][3];
动态数组(使用new和delete)

动态数组在运行时分配大小,使用newdelete操作符。例如,创建一个动态数组:

复制代码
int* dynamicArray = new int[arraySize];

使用完毕后,需要使用delete[]来释放内存:

复制代码
delete[] dynamicArray;

字符串

字符串常量

字符串常量是字符数组的只读版本,通常用双引号括起来。例如:

复制代码
const char str[] = "Hello, World!";
字符串处理函数

C语言风格字符串提供了一些基本的字符串处理函数,如strlen(计算字符串长度)、strcpy(复制字符串)、strcat(连接字符串)、strcmp(比较字符串)等。例如:

复制代码
#include <cstring>

char str1[] = "Hello";
char str2[10];

// 复制str1到str2
strcpy(str2, str1);

// 连接" World"到str2
strcat(str2, " World");

// 比较str1和str2
if (strcmp(str1, str2) != 0) {
    // 字符串不相等
}
std::string 类的使用

C++提供了std::string类,它是一个可变长度的字符串类,提供了丰富的成员函数来处理字符串。使用std::string需要包含头文件<string>。以下是一些基本操作:

复制代码
#include <string>
#include <iostream>

int main() {
    std::string str1 = "Hello";
    std::string str2 = "World";

    // 连接字符串
    str1 += ", " + str2;

    // 获取字符串长度
    std::cout << "Length of str1: " << str1.length() << std::endl;

    // 比较字符串
    if (str1 == str2) {
        std::cout << "Strings are equal." << std::endl;
    } else {
        std::cout << "Strings are not equal." << std::endl;
    }

    return 0;
}

std::string类还提供了其他功能,如查找子串、替换字符、插入和删除字符等。

相关推荐
未来之窗软件服务17 分钟前
自己写算法(九)网页数字动画函数——东方仙盟化神期
前端·javascript·算法·仙盟创梦ide·东方仙盟·东方仙盟算法
豐儀麟阁贵24 分钟前
基本数据类型
java·算法
Larry_Yanan2 小时前
QML学习笔记(三十四)QML的GroupBox、RadioButton
c++·笔记·qt·学习·ui
程序员老舅2 小时前
干货|腾讯 Linux C/C++ 后端开发岗面试
linux·c语言·c++·编程·大厂面试题
乐迪信息2 小时前
乐迪信息:基于AI算法的煤矿作业人员安全规范智能监测与预警系统
大数据·人工智能·算法·安全·视觉检测·推荐算法
程序员Aries2 小时前
自定义网络协议与序列化/反序列化
linux·网络·c++·网络协议·程序人生
Pafey3 小时前
MFC中一个类的成员变量值自动被篡改:多重继承带来的问题
c++·mfc
hsjkdhs3 小时前
C++之多层继承、多源继承、菱形继承
开发语言·c++·算法
立志成为大牛的小牛3 小时前
数据结构——十七、线索二叉树找前驱与后继(王道408)
数据结构·笔记·学习·程序人生·考研·算法
星空下的曙光3 小时前
Node.js crypto模块所有 API 详解 + 常用 API + 使用场景
算法·node.js·哈希算法