C++_数组类型

  •   数组定义由类型名、标识符和维数组成。维数指定数组中包含的元素的数目,它被写在一对方括号里面。维数值必须是常量表达式
int ia [10]; //声明了一个包含10个int对象的数组

 

  •   数组是一个单一数据类型对象的集合。 其中单个对象并没有被命名,但是我们可以通过它在数组中的位置对它进行访问。 这种访问形式叫做索引访问下标访问)。

          每个对象被称为是ia的一个元素(element)。每个元素都可以通过下标来进行访问, 如:ia[2]

 

 

数组的初始化

======================================================================

  •    数组可以显式地用一组数来初始化,这组数用逗号分开,放在大括号中。例如:
const int array_size = 3;
int ia[array_size] = { 0, 1, 2 };

 

           显式的初始化其实可以不用指定维数值,编译器会根据列出的元素个数来确定数组的维数。 例如:

//维数为3的数组
int ia[] = { 0, 1, 2 };

        

            如果指定了维数,那么初始化列表提供的元素个数不能超过维数值。否则编译错误。

            如果指定的维数大于给出的元素个数,那么没有被显式初始化的元素将被置为0. 例如:

//ia ==> { 0, 1, 2, 0, 0 }
const int array_size = 5;
int ia[ array_size ] = { 0, 1, 2 };

 

  • 字符数组的初始化

             字符数组可以用一个由逗号分开的字符文字列表初始化(文字列表用花括号括起来);或者用一个字符串文字初始化。但是注意这两者并不是等价的。

const char ca1[] = { 'C', '+', '+' }; //ca1的维数是3
const char ca2[] = "C++"; //ca2的维数是4,因为字符串常量包含一个额外的终止空字符

     

  • 一个数组不能被另外一个数组初始化,也不能被赋值给另外一个数组。
  • C++不允许声明一个引用数组(即由引用组成的数组)。但是可以声明一个指针类型的数组。例如:
//ok: 类型为int*的指针的数组
int *iap[] = { &ix, &jx, &kx };

//错误:不允许引用数组
int &iar[] = { ix, jx, kx };

 

多维数组

================================================================

int ia [4][3];定义了一个二维数组。 第一维被称做行维,第二维被称做列维。

int ia[4][3] = {
    { 0, 1, 2 },
    { 3, 4, 5 },
    { 6, 7, 8 },
    { 9, 10, 11 }
};

 

 

数组与指针类型的关系

=================================================================

ia是上面数组的标识符。 它实际是一个int类型的指针,它代表了数组的第一个元素的地址。

数组元素的遍历可以通过下标操作符来实现。或者我们也可以通过直接操作指针来实现数组元素的遍历。例如:

#include <iostream>

int main()
{
    int ia[9] = {0, 1, 1, 2, 3, 5, 8, 13, 21};
    int *pbegin = ia;
    int *pend = ia + 9;

    while (pbegin != pend)
    {
        cout << *pbegin << '';
        ++pbegin;
    }
} 

原文链接: https://www.cnblogs.com/JaneTang/archive/2010/02/16/1668755.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++_数组类型

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/8201

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月6日 下午6:59
下一篇 2023年2月6日 下午7:02

相关推荐