美文网首页
一起看下C++中的数组

一起看下C++中的数组

作者: 付凯强 | 来源:发表于2020-10-21 22:30 被阅读0次

序言

本文内容为:

  • 一维数组
  • 二维数组
  • 字符数组
  • 常用字符串函数

一维数组

将同一数据类型的数据按一定形式有序的组织起来,这些有序数据的集合就被称为数组。一个数组有一个统一的数组名,可以通过数组名和下标来来唯一确定数组中的元素。

    //数组的声明
    int a[100];
    char name[128];
    float price[20];
    //数组的初始化
    a[0] = 0;
    name[0] = 'A';
    price[0] = 3.14;
    //声明的同时初始化
    int b[4] = {0,1,2,3};
    char person[4] = {'A','B','C','D'};
    float now[5] = {0.1,0.2}; // 前面两个元素被赋值,其他元素的值为0

二维数组

一个一维数组描述的是一个线性序列,二维数组描述的是一个矩阵。二维数组可以看作是一种特殊的一维数组。常量表达式1代表行的数量,常量表达式2代表列的数量。

    //数组的声明
    int a[3][4];
    char name[128][127];
    float price[20][21];
    //数组的初始化
    a[0][0] = 0;
    name[0][0] = 'A';
    price[0][0] = 3.14;
    //声明的同时初始化
    int b[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
    int c[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};
    int d[3][4] = {1,2,3,4};//只对第一行赋值,其余数组元素都为0

字符数组

专门讲解下字符数组,是因为C和C++专门为它提供了许多方便的用法和函数。

char word[] = {'A','B','C','D','E'};
  • 字符串的连接操作
strcat(字符数组名1,字符数组名2)

函数的作用是把字符数组2中的字符串连接到字符数组1中字符串的后面。所以使用的时候要注意字符数组1的长度要足够大。

#include <iostream>
#include <cstring>

using namespace std;
int main() {
    char str1[30],str2[20];
    cout<<"input string1:"<<endl;
    gets(str1);
    cout<<"input string2:"<<endl;
    gets(str2);
    strcat(str1,str2);
    cout<<"Now the string1 is:"<<endl;
    puts(str1);
    return 0;
}
input string1:
A
input string2:
B
Now the string1 is:
AB
  • 字符串的替换操作
strcpy(字符数组1,字符数组2)

用字符数组2的字符串覆盖字符数组1的字符串。同样,字符数组1应有足够的长度。

#include <iostream>
#include <cstring>

using namespace std;
int main() {
    char str1[30],str2[20];
    cout<<"input string1:"<<endl;
    gets(str1);
    cout<<"input string2:"<<endl;
    gets(str2);
    strcpy(str1,str2);
    cout<<"Now the string1 is:"<<endl;
    puts(str1);
    return 0;
} 
input string1:
Hello
input string2:
World
Now the string1 is:
World
  • 字符串的比较操作
strcmp(字符数组名1,字符数组名2)
#include <iostream>
#include <cstring>

using namespace std;
int main() {
    char str1[30],str2[20];
    cout<<"input string1:"<<endl;
    gets(str1);
    cout<<"input string2:"<<endl;
    gets(str2);
    int i = strcmp(str1,str2);
    cout<<i<<endl;
    return 0;
}
input string1:
A
input string2:
B
-1

按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较的结果。当字符串1=字符串2,返回值为0;当字符串1>字符串2,返回值为一正数;当字符串1<字符串2,返回值为一负数。

  • 获取字符串长度
strlen(字符串组名)
#include <iostream>
#include <cstring>

using namespace std;

int main() {
    char str1[30], str2[20];
    cout << "input string1:" << endl;
    gets(str1);
    cout << "input string2:" << endl;
    gets(str2);
    int len1 = strlen(str1);
    int len2 = strlen(str2);
    cout << "the length of string1 is:" << len1 << endl;
    cout << "the length of string2 is:" << len2 << endl;
    return 0;
}
input string1:
Hello
input string2:
World
the length of string1 is:5
the length of string2 is:5

后续

如果大家喜欢这篇文章,欢迎点赞;
如果想看更多C++方面的技术知识,欢迎关注!

相关文章

网友评论

      本文标题:一起看下C++中的数组

      本文链接:https://www.haomeiwen.com/subject/mqurmktx.html