关闭

数组

3866人阅读 评论(1) 收藏 举报
分类:

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

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

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:250430次
    • 积分:3838
    • 等级:
    • 排名:第8800名
    • 原创:77篇
    • 转载:125篇
    • 译文:1篇
    • 评论:67条
    最新评论