美文网首页
一起看下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