数组

数组的初始化:如果没有显示提供元素初值,则数组则会和普通变量一样初始化。

#include <iostream>
#include <cstddef>
using namespace std;
int main(void)
{
    const size_t size=5;
    int a[size]={};
    for(size_t i=0;i<size;i++)
    {
        cout<<a[i]<<"  ";
    }
    cout<<endl;
    const size_t row=3;
    const size_t col=4;
    int b[row][col];
    for(size_t i=0;i<row;i++)
    {
        for(size_t j=0;j<col;j++)
        {
            cout<<b[i][j]<<"   ";
        }
        cout<<endl;
    }
    return 0;
}


上述程序中,对于局部数组变量={},凡是出现大括号的,如果没有显示给出初始值,则初始化为0,如果表达式中无大括号,则无初始化,其中的值未知。


字符数组初始化时,数组大小一定要大于字符串长度+1,否则编译错误。

const char ch[6]="Daniel"; //error: initializer-string for array of chars is too long.


数组下标的正确类型是size_t。


定义指向数组的指针的两种方式:

int ia[3][4];

int (*ip)[4]=ia;

或者:

typedef int int_array[4];

int_array *ip=ia;

上述两种定义方式有相同的效果。

阅读更多
个人分类: C++Primer(yang)
上一篇程序员相关
下一篇指针
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭