数组的用法

作者在 2011-08-23 11:08:44 发布以下内容
/*
时间:2011年8月23日10:58:04
目的:掌握数组的用法
*/

# include <stdio.h>

int main(void)
{
    //数组的定义
    int i;
    int a[5];        //定义一个数组,[]中的5表示数组中元素的个数,这5个元素分别是a[0],a[1],a[2],a[3],a[4]
    
    printf("%d\n",a[5]);    //想输出一个数组的所有元素,这样写是错误的,只有在定义时[]中的5才表示元素个数,除此以外只表示下标
    
    for(i=0; i<5; ++i)    //输出一个数组中的所有元素需要使用循环
        printf("%d ",a[i]); //由于之前只做了定义没有初始化,所以数组中的元素都是垃圾值
    printf("\n");
    
    //数组的初始化    
    int b[5] = {1,2,3,4,5};        //对数组进行完全初始化
    for (i=0; i<5; ++i)
        printf("%d  ",b[i]);    //输出1 2 3 4 5
    printf("\n");
    
    int c[5] = {1,2,3};        //对数组进行不完全初始化,没被初始化的元素自动变为0
    for (i=0; i<5; ++i)
        printf("%d  ",c[i]);    //输出1 2 3 0 0
    printf("\n");
    
    int d[5] = {0};        //作为不完全初始化的特例,这样的初始化相当于对数组里的所有元素清零
    for (i=0; i<5; ++i)
        printf("%d  ",d[i]);    //输出0 0 0 0 0
    printf("\n");
    
    /*    int a[5];            
    a[5]={1,2,3,4,5};        //这是一种常见的错误写法,原因之前说过,这里a[5]只表示一个下标为5的元素,而这个元素甚至并不在定义的数组里
    
*/    
    
    //二维数组
    
//    int f[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};    //定义一个二维数组,相当于3行4列共12个元素
    int f[3][4] = {                    //这样写更清晰,包含的元素是:  
        {1,  2,  3,  4 },                                    //      a[0][0]  a[0][1]  a[0][2] a[0][3]        
        {5,  6,  7,  8 },                                    //      a[1][0]  a[1][1]  a[1][2] a[1][3]
        {9,  10, 11, 12}                                    //    a[2][0]  a[2][1]  a[2][2] a[2][3]
    };
    
    int j, k;
    
    for(j=0; j<3; ++j)                //输出二维数组需要两个for循环嵌套
    {
        for(k=0; k<4; ++k)
            printf("%-5d ",f[j][k]);        //%-5d是个对齐的小技巧,-表示左对齐,5表示每个元素占5个光标位置(不重要,将来有更好的控制方式)
        printf("\n");
    }
    
    //多维数组
    
//事实上不存在多维数组,因为内存是线性一维的,n维数组可以看做每个元素是n-1维数组的一维数组
    return 0;
}

/*
在VC++6.0中的输出结果为:
————————————
-858993460
-858993460 -858993460 -858993460 -858993460 -858993460
1  2  3  4  5
1  2  3  0  0
0  0  0  0  0
1     2     3     4
5     6     7     8
9     10    11    12
Press any key to continue
————————————
*/
郝斌视频笔记 | 阅读 1011 次
文章评论,共0条
游客请输入验证码
最新评论