数组

来源:互联网 发布:淘宝助理百世汇通模板 编辑:程序博客网 时间:2024/05/16 11:43

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

#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;

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

原创粉丝点击